php可變個數字參數函數介紹
使用預設參數適合實參數少於形參的情況,而可變參數列表則適合實參個數多於形參的情況。如果在函數中用不到多個傳入的參數則沒有意義。
上一節我們介紹了php預設參數函數,本節就介紹一下php可變個數字參數的函數。
可變參數的函數格式說明如下所示:
mixed funName (string arg1 [, string ...] ) //在参数列表中出现使用 ... 描述的参数
#的使用者在定義函數時,設定的參數數量是有限的。如果希望函數可以接受任意數量的參數,則需要在函數中使用 PHP 系統提供的 func_get_args()函數,它將所有傳遞給腳本函數的參數當做一個陣列傳回。
宣告一個函數,用來列印參數清單的值。雖然沒有聲明參數列表,但可以傳入任意個數、任意類型的參數值。先將所有傳遞給腳本函數的參數當做一個數組返回,然後使用 for 迴圈遍歷這個數組,分別輸出傳入函數的每一個參數,最後調用這個函數並輸入多個參數。
其實例程式碼如下的所示:
<?php function more_args(){ $args = func_get_args(); //将所有传递给脚本的参数当做一个数组返回 for($i = 0; $i < count($args); $i++){ //使用for循环 echo "第".$i."个参数:".$args[$i]."<br>"; //分别输出传入函数的每个参数 } } more_args(1, 2, 3); //调用函数并输入多个参数 ?>
輸出結果如下:
第0個參數:1
第1個參數:2
第2個參數:3
除此之外,也可以使用func_num_args ()函數傳回參數的總數,使用 func_get_args()函數接受一個數字參數,並傳回指定的參數。這裡我們需要把上一個實例中的將所有傳遞給腳本的參數當做一個數組傳回的$args 給刪除,然後使用func_num_args()函數計算參數的總數,在使用func_get_arg 來循環輸出傳入函數的每個參數。最後呼叫這個函數並輸入多個參數。
其修改後的實例程式碼如下的所示:
<?php function more_args(){ for($i = 0; $i <func_num_args(); $i++){ //使用for循环 echo "第".$i."个参数:".func_get_arg($i)."<br>"; //分别输出传入函数的每个参数 } } more_args(1, 2, 3); //调用函数并输入多个参数 ?>
#輸出結果如下:
第0個參數:1
第1個參數:2
第2個參數:3
上面的兩個範例實現了相同的功能,都可以在函數中取得任意個數的參數列表,並在函數中使用。
由上面的實例可以看出PHP 函數可變數量的參數有以下的幾種形式:
#func_num_args 傳回參數的總數
func_get_arg 傳回參數清單的某一項
func_get_args 傳回一個包含函數參數清單的陣列
【相關教學建議】
3. php實戰影片教學
以上是php函數之可變個數參數函數的詳細內容。更多資訊請關注PHP中文網其他相關文章!