>  기사  >  类库下载  >  PHP 함수 사용자 정의 함수

PHP 함수 사용자 정의 함수

高洛峰
高洛峰원래의
2016-10-13 10:15:491463검색

사용자 정의 함수

함수 선언

프로그램을 작성하는 과정에서 PHP에서 시스템 기능을 제공하지 않는 특정 기능 모듈을 자주 접하게 되므로 함수를 정의해야 합니다. 즉, 사용자 정의 함수에 대한 규칙은 다음과 같습니다.

각 함수의 첫 번째 줄은 함수 헤더로, 함수를 선언하는 키워드 함수, 함수 이름, 그리고 매개변수 목록.

모든 맞춤 함수는 function 키워드를 사용하여 선언해야 합니다.

함수 이름은 함수 전체를 나타낼 수 있으며, 변수 이름 명명 규칙을 따른다면 어떤 이름으로든 함수 이름을 지정할 수 있습니다. 그러나 함수 이름은 고유해야 하며 시스템 함수와 동일한 이름을 가질 수 없습니다.

함수를 선언할 때 함수 이름 뒤의 중괄호도 필요합니다. 중괄호는 허용되는 매개변수 목록 집합을 나타냅니다. 매개변수는 선언된 변수이며 값은 해당 매개변수에 전달됩니다. 함수가 호출됩니다. 매개변수 목록에는 매개변수가 없거나 하나 이상 있을 수 있으며 여러 매개변수는 쉼표로 구분됩니다.

함수 본문은 함수 헤더 뒤에 위치하며 중괄호로 묶입니다. 함수가 호출된 후 retun 문이나 가장 바깥쪽 중괄호 뒤에서 실행이 종료되고 호출 프로그램으로 돌아갑니다.

함수에서 값을 반환한 다음 호출 프로그램으로 돌아가 실행을 계속하려면 return 키워드를 사용하세요.

데모

<?php 
    /* 将使用双层for循环输出表格的代码声明为函数,函数名为table */
    function table() {                              
        echo "<table align=&#39;center&#39; border=&#39;1&#39; width=&#39;600&#39;>";           
        for($out=0; $out < 10; $out++ ) {       
            $bgcolor = $out%2 == 0 ? "red" : "blue";//各行换背景色            
            echo "<tr bgcolor=".$bgcolor.">"; 
            for($in=0; $in <10; $in++) {    
                echo "<td>".($out*10+$in)."</td>";    
            }            echo "</tr>";    
        }        echo "</table>";
    } 
?>

함수 호출

맞춤 함수든 시스템 함수든 함수가 호출되지 않으면 실행되지 않습니다. 함수가 호출된 후 함수 본문에 있는 코드의 실행을 시작합니다. 실행이 완료된 후 호출 위치로 돌아가 하향 실행을 계속합니다. 호출 규칙은 다음과 같습니다.

함수 이름을 통해 함수를 호출합니다.

함수에 매개변수 목록이 있는 경우 함수 이름 뒤의 괄호를 통해 해당 값을 매개변수에 전달할 수도 있고, 함수 본문의 매개변수를 사용하여 내부 코드의 실행 동작을 변경할 수도 있습니다. 기능.

함수에 반환값이 있는 경우 함수가 실행되면 함수가 호출된 위치로 반환 후의 값이 반환됩니다.

데모

<?php 
    /* 将使用双层for循环输出表格的代码声明为函数,函数名为table */
    function table() {                              
        echo "<table align=&#39;center&#39; border=&#39;1&#39; width=&#39;600&#39;>";           
        for($out=0; $out < 10; $out++ ) {       
            $bgcolor = $out%2 == 0 ? "red" : "blue";//各行换背景色            
            echo "<tr bgcolor=".$bgcolor.">"; 
            for($in=0; $in <10; $in++) {    
                echo "<td>".($out*10+$in)."</td>";    
            }            echo "</tr>";    
        }        echo "</table>";
    } 
?>  

함수의 매개변수

매개변수 목록은 0개, 1개 이상의 매개변수로 구성됩니다. 각 인수는 쉼표로 구분된 표현식입니다. 매개변수화된 함수의 경우 PHP 스크립트 프로그램과 호출된 함수 간에 데이터 전송 관계가 있습니다. 함수를 정의할 때 함수 이름 뒤 괄호 안의 표현식을 형식 매개변수("형식 매개변수"라 함)라고 하고, 호출된 함수 이름 뒤 괄호 안의 표현식을 실제 매개변수("실제 매개변수"라 한다)라고 한다. 실제 매개변수와 형식 매개변수 데이터는 순차적으로 전송되어야 합니다. 함수에 매개변수 목록이 없는 경우 함수가 수행하는 작업은 고정되어 있으며 사용자는 함수를 호출할 때 함수의 내부 실행 동작 중 일부를 변경할 수 없습니다.

데모

<?php 
    /**        自定义函数table()时,声明三个参数,参数之间使用逗号分隔        @param  string  $tableName  需要一个字符串类型的表名        @param  int     $rows       需要一个整型数值设置表格的行数        @param  int     $cols       需要另一个整型值设置表格的列数    */
    function table( $tableName, $rows, $cols ) {                    
        echo "<table align=&#39;center&#39; border=&#39;1&#39; width=&#39;600&#39;>";       
        echo "<caption><h1> $tableName </h1></caption>";            
    
        for($out=0; $out < $rows; $out++ ) {    //使用第二个参数$rows指定表行数
            $bgcolor = $out%2 == 0 ? "red" : "blue";            
            echo "<tr bgcolor=".$bgcolor.">"; 

            for($in=0; $in < $cols; $in++) {    //使用第三个参数$cols指定表列数
                echo "<td>".($out*$cols+$in)."</td>";    
            }            echo "</tr>";    
        }        echo "</table>";
    } 
?>  <?php table("千度的表格",10,10);?>

함수의 반환값

함수의 반환값은 함수 실행의 결과입니다. 함수를 호출하는 스크립트 프로그램은 직접적으로 알 수 없습니다. 함수 본문의 정보를 사용하세요. 그러나 return 키워드를 통해 데이터를 호출자에게 전달할 수 있습니다. return 문에 대한 주의사항은 다음과 같습니다.

return 문은 함수 본문에 있는 모든 실행 결과 값을 함수 호출자에게 반환할 수 있습니다.

함수 본문에서 return 문이 실행되면 그 뒤의 문은 실행되지 않습니다.

데모

<?php 
    /**        自定义函数table()时,声明三个参数,参数之间使用逗号分隔        @param  string  $tableName  需要一个字符串类型的表名        @param  int     $rows       需要一个整型数值设置表格的行数        @param  int     $cols       需要另一个整型值设置表格的列数    */
    function table( $tableName, $rows, $cols ) {        $returnStr="这是返回的字符串";
        echo "<table align=&#39;center&#39; border=&#39;1&#39; width=&#39;600&#39;>";       
        echo "<caption><h1> $tableName </h1></caption>";            
    
        for($out=0; $out < $rows; $out++ ) {    //使用第二个参数$rows指定表行数
            $bgcolor = $out%2 == 0 ? "red" : "blue";            
            echo "<tr bgcolor=".$bgcolor.">"; 

            for($in=0; $in < $cols; $in++) {    //使用第三个参数$cols指定表列数
                echo "<td>".($out*$cols+$in)."</td>";    
            }            echo "</tr>";    
        }        echo "</table>";
        return $returnStr;
    } 
?>  <?php echo table("千度的表格",10,10);?>


성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

관련 기사

더보기