func_get_args()—返回的是一個數組,這個數組內的每一項都是函數的一個參數。根據php手冊咱們給出函數的用法格式。php
array func_get_args ( void )
若是隻是在這裏籠統的闡述,可能你們不可以真正的瞭解這個函數,那麼就讓咱們經過事例來看下這個函數的用法。數組
function foo() { $args = func_get_args(); foreach ($args as $k => $v) { echo 「arg」.($k+1).」: $v\n」; } } foo(); /* 沒用任何輸出*/ foo(‘hello’); /* 輸出 arg1: hello */ foo(‘hello’, ‘world’, ‘again’); /*輸出 arg1: hello arg2: world arg3: again */
這個函數能夠把你傳入的全部參數所有都放在一個數組中,而後再輸出。這樣對咱們之後編寫php程序是否是又簡單了許多呢?
既然說到了func_get_args函數,那麼咱們就不能不提下func_num_args函數和func_get_arg函數了 函數
func_nums_args——統計傳入函數參數的個數 code
func_get_arg——根據索引取得某一個參數,這裏的索引數傳入函數的參數 索引
咱們就以php手冊上的例子來看吧get
<? function foo() { $numargs = func_num_args(); echo 「Number of arguments: $numargs\n「; } foo(1, 2, 3); // Prints ‘Number of arguments: 3′ ?>
上面的例子很明白的給咱們展現了func_num_args函數就是活的傳入函數的參數io
<?php function foo() { $numargs = func_num_args(); echo "Number of arguments: $numargs<br />\n"; if ($numargs >= 2) { echo "Second argument is: " . func_get_arg(1) . "<br />\n"; } } foo (1, 2, 3); //Prints //Number of arguments: 3 //Second argument is: 2 ?>
上面的例子中func_get_arg(1)就是獲取函數的第二個參數。好了,咱們看下這三個函數的綜合實例吧,這樣咱們就能夠把這三個函數掌握了。function
<?php function foo() { $numargs = func_num_args();//獲得參數的個數 echo "Number of arguments: $numargs<br />\n"; if ($numargs >= 2) { echo "Second argument is: " . func_get_arg(1) . "<br />\n"; } $arg_list = func_get_args(); for ($i = 0; $i < $numargs; $i++) { echo "Argument $i is: " . $arg_list[$i] . "<br />\n"; } } foo(1, 2, 3); /*Number of arguments: 3 Second argument is: 2 Argument 0 is: 1 Argument 1 is: 2 Argument 2 is: 3*/ ?>