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() ,'
'; 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() ,'
'; var_dump(func_get_args()); echo '
'; } } $s=new Student; $s->fn(); $s->fn('pps'); $s->fn('pps',26);

执行结果如下图:

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

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



你可能感兴趣的:(PHP)