在 php 中,允許程式設計者將常用的流程或者變數等元件,組織成一個固定的格式。也就是說使用者可以自行組合函數或者是類。
php 中的函數 (function) 和 c 語言一樣,包括有傳回值及無傳回值,不像 pascal 分成函數 (function) 和程式 (procedure) 那麼複雜。
在函數的名稱上,php 對於大小寫管制很鬆散。可以在定義函數時寫成大寫的名字,而在使用時使用小寫名字。總之,對函數而言,不用管大小寫,只要注意名稱沒有重複就好了。
以下就是函數的使用文法
function myfunc($arg_1, $arg_2, ..., $arg_n) {
// 執行一些步驟
return $retval;
}
在使用時,在自定的函數名稱前要加入 function 的保留字,表示這是定義使用者自定函數。之後的 myfunc 可以是任何的英文字母開頭的字串,字串除了開頭不能是數字或是底線,在第一個字母后可以是阿拉伯數字或者是底線,當然其它的符號或是中文字不能當函數名。
$arg_1 到 $arg_n 為函數使用的參數,參數之間使用逗號隔開。在參數後的大括弧 {},即為整個函數的部分。函數如果傳回值,使用 return 可將值返回。而參數可以事先定義初始值或預設值。有定義預設值參數在使用函數時可以省略,但一定要放在沒有配置預設值參數的後面,否則 php 在解析函數時,會出現錯誤。
另外就是參數的類型,只要參數是 php 支援的變數類型都可以使用,無論是數組、字串、或是整數....等等。傳回值也是一樣。
下面即為使用預設值及不用預設值例子
<?php
function myfunc1($arg_1, $arg_2, $arg_3="我是預設字串") {
echo $arg_1+$arg_2;
echo $arg_3."<p>\n";
}
myfunc(3, 4); // 參數 $arg_3 省略。
myfunc(6, 6, "不用預設值") // 輸入參數 $arg_3。
?>
參數的值,通常使用傳值方式輸入,有時在值得的需求時,可以使用傳址的方式,傳入參數的指標。方法就是在參數的前面加上 & 符號即可。