在開發過程中,經常要反覆某種操作,反覆輸入相同的程式碼,這將增加程式碼的冗餘性,後期維護起來比較麻煩,如果使用函數,那麼這些問題將會迎刃而解了。
1、定義和呼叫函數
函數,就是將一些重複使用到的功能寫在一個獨立的程式碼區塊中,在需要時單獨呼叫。建立函數基本語法是:
function fun_name($str1, $str2...$strn) {
fun_body
}
其中,function為聲明自訂函數時必須使用到的關鍵字。 fun_name是自訂函數的名稱。 $str1, $str2...$strn是函數的參數。 fun_body是自訂函數的主體,是函數功能實現的程式碼部分。
例如下面的計算一個數的平方的函數:
<?php //声明自定义函数 function example($num) { retrun $num * $num; //返回计算后的结果 } echo example(10); //调用函数 ?>
結果為:100
2、函數間傳遞函數
在調用參數時,需要向函數傳遞參數,被傳入的參數叫做實參,而函數定義的參數為形參。參數傳遞的方式有按值傳遞、按引用傳遞和預設參數。
2.1 按值傳遞
以值傳遞是將實參的值複製到對應的形參中,在函數內部的操作指針對形參進行操作,操作結果不會影響實參。即函數傳回後,實參的值不會改變。
例如:
<?php //定义一个自定义函数 function sp($m) { $m = 100; //输出形参 echo $m . "/; } $m = 5; sp($m); //传递值,将$m的值传递给形参$m echo $m; //输出实参 ?>
運行結果:100/5。
2.2 依引用傳遞
依引用傳遞是將實參的記憶體位址傳遞給形參。這時,函數內部的運算都會影響實參,函數傳回後,實參的值會改變。引用傳遞就是在傳值時加上&號即可。
例如:
<?php //定义一个自定义函数 function sp(&$m) { $m = 100; //输出形参 echo $m . "/"; } $m = 5; sp($m); //传递值 echo $m; //输出实参 ?>
運行結果:100/100。
2.3預設參數
預設參數就是指形參指定預設值。
例如:
<?php //定义一个自定义函数 function sp($m = 100) { //输出形参 echo $m . "/"; } sp(10); //传值 sp(); //未传值,输出默认值 ?>
運行結果:10/100。
3、從函數傳回值
通常函數會將回傳值傳遞給呼叫者是使用關鍵字return。
return語句只能傳回一個參數,也就是只能傳回一個值,不能一次傳回多個值。如果需要傳回多個值,可以使用數組,將返回值儲存在數組中返回。
以上就是PHP函數的內容,更多相關內容請關注PHP中文網(www.php.cn)!