php方法固定傳參和可變引數的引數列表
阿新 • • 發佈:2019-02-01
1.方法傳參
(1).值傳遞:function func_name($var); 方法內部改變引數的值不影響方法外部引數的值
(2).引用傳遞:function func_name(&$var); 方法內部改變引數的值會改變方法外部引數的值,傳入的是引數的引用地址
2.可變數量的引數列表
a). int func_num_args(void):返回傳入方法的引數數目,整型
b). array func_get_args(void):返回傳入方法的引數列表陣列
c). mixed func_get_arg(int $arg_num):返回方法引數列表的指定的引數,引數$arg_num對應func_get_args()返回陣列中的鍵,即索引
使用此類方法不需要在自定義方法中定義接收引數列表,如例:
<?php class GetArgs{ function get_args_num() { $args_num = func_num_args();//獲取引數列表中引數的數目 return $args_num; } function get_args() { $args = func_get_args();//接收傳入的所有引數,可以以陣列方式使用引數:$args[0],$args[1],...對應引數列表順序 return $args; } function get_arg() { $arg_num = 1; $arg = func_get_arg($arg_num);//獲取索引為1的引數,如果索引值超出則會警告 return $arg; } } $ga = new GetArgs(); echo $ga->get_args_num(1,2,3);// 3 print_r($ga->get_args(1,2,3));// Array ( [0] => 1 [1] => 2 [2] => 3 ) echo $ga->get_arg(1,2,3);// 2