1. 程式人生 > >php方法固定傳參和可變引數的引數列表

php方法固定傳參和可變引數的引數列表

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