就像數學中的函數一樣,y=f(x)
是函數基本的表達形式,x
可看做是參數,y
可看做是回傳值,也就是函數定義就是一個被命名的、獨立的程式碼片段,它執行特定的任務,並可能會為呼叫它的程式傳回一個值。
在寫程式的過程中,我們會經常碰到某些功能模組在PHP中沒有提供系統函數,這樣就需要我們自己定義函數,即自訂函數,自訂函數的規則如下:
#每個函數的第一行都是函數頭,由宣告函數###的關鍵字function、函數名稱、參數清單三部分組成。
function關鍵字宣告。
retun語句或最外面的花括號後結束,回到呼叫的程式。
return可以從函數中傳回一個值,然後回到呼叫程式處繼續執行。
<?php /* 将使用双层for循环输出表格的代码声明为函数,函数名为table */ function table() { echo "<table align='center' border='1' width='600'>"; 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後面的值傳回呼叫函數的位置。
<?php /* 将使用双层for循环输出表格的代码声明为函数,函数名为table */ function table() { echo "<table align='center' border='1' width='600'>"; 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 /**自定义函数table()时,声明三个参数,参数之间使用逗号分隔 @param string $tableName 需要一个字符串类型的表名 @param int $rows 需要一个整型数值设置表格的行数 @param int $cols 需要另一个整型值设置表格的列数 */ function table( $tableName, $rows, $cols ) { echo "<table align='center' border='1' width='600'>"; 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='center' border='1' width='600'>"; 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中文網其他相關文章!