首頁 >後端開發 >php教程 >php自訂函數聲明,調用,參數和返回值基礎教程

php自訂函數聲明,調用,參數和返回值基礎教程

伊谢尔伦
伊谢尔伦原創
2017-06-26 09:41:372862瀏覽

就像數學中的函數一樣,y=f(x)是函數基本的表達形式,x可看做是參數,y可看做是回傳值,也就是函數定義就是一個被命名的、獨立的程式碼片段,它執行特定的任務,並可能會為呼叫它的程式傳回一個值。

自訂函數

函數的宣告

在寫程式的過程中,我們會經常碰到某些功能模組在PHP中沒有提供系統函數,這樣就需要我們自己定義函數,即自訂函數,自訂函數的規則如下:

  • #每個函數的第一行都是函數頭,由宣告函數##​​#的關鍵字function、函數名稱、參數清單三部分組成。

  • 每個自訂函數都必須使用

    function關鍵字宣告。

  • 函數名稱可以代表整個函數,可以將函數命名為任何名稱,只要遵循變數名稱的命名規則即可。但函數名稱必須唯一,且不能與系統函數重名。

  • 宣告函數時函數名稱後面的花括號也是必須有的,在花括號中顯示了一組可以接受的參數列表,參數就是宣告的變量,然後在呼叫函數時傳遞給它值。參數清單可以沒有,也可以有—個或多個參數,多個參數使用逗號分隔。

  • 函數體位於函數頭後面,用花括號括起來。函數被呼叫後,執行到

    retun語句或最外面的花括號後結束,回到呼叫的程式。

  • 使用關鍵字

    return可以從函數中傳回一個值,然後回到呼叫程式處繼續執行。

Demo

<?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>";
    } 
?>

函數的呼叫

#不管是自訂的函數還是系統函數,如果函數不被調用,就不會執行。函數被呼叫後開始執行函數體中的程式碼,執行完畢返回到呼叫的位置繼續向下執行。呼叫規則如下:

  • 透過函數名稱去呼叫函數。

  • 如果函數有參數列表,也可以透過函數名稱後面的圓括號傳入對應的值給參數,在函數體中使用參數來改變函數內部程式碼的執行行為。

  • 如果函數有回傳值,當函數執行完畢時就會將

    return後面的值傳回呼叫函數的位置。

Demo

<?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腳本程式中和被呼叫函數之間有資料傳遞關係。定義函數時函數名稱後面括號內的表達式稱為形式參數(簡稱「形參」),被呼叫函數名後面括號中的表達式稱為實際參數(簡稱「實參」),實參和形參需要接順序對應傳遞資料。如果函數沒有參數列表,函數執行的任務就是固定的,用戶在呼叫函數時不能改變函數內部的一些執行行為。

Demo

<?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語句,它後面的語句就不會被執行。

Demo

<?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);
?>

以上是php自訂函數聲明,調用,參數和返回值基礎教程的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn