PHP中获取函数调用时实际传递的参数信息

今天意外发现,原来PHP中也有类似JavaScript函数arguments的功能,就是获取用户实际传递的参数信息。主要是依赖func_​get_​arg、func_​get_​args、func_​num_​args三个函数来实现。

实例:

function fn($name='dqs',$age=26,$job='student'){
	//获取传递的参数个数
	echo func_num_args() ,'</br>';
	var_dump(func_get_args());
}
fn('pps');
/**
1
array(1) { [0]=> string(3) "pps" }
**/
fn('pps',23);
/*
2
array(2) { [0]=> string(3) "pps" [1]=> int(23) }
*/
突然感觉相当不错,这样就能很直接知道,调用函数实际传递参数有哪些。那么针对类的方法是否也能这样去判断呢?

class Student{
	public function fn($name='dqs',$age=26,$job='student'){
		//获取传递的参数个数
		echo func_num_args() ,'</br>';
		var_dump(func_get_args());
		echo '</br>';
	}
}
$s=new Student;
$s->fn();
$s->fn('pps');
$s->fn('pps',26);

执行结果如下图:

PHP中获取函数调用时实际传递的参数信息_第1张图片

很明显针对类的方法同样是适用的。



你可能感兴趣的:(获取实际参数)