PHP call_user_func function 处理函数
-
定义和用法
call_user_func - 把第一个参数作为回调函数调用 -
版本支持
PHP4 PHP5 PHP7 支持 支持 支持 v5.3.0 对面向对象里面的关键字的解析有所增强。在此之前,使用两个冒号来连接一个类和里面的一个方法,把它作为参数来作为回调函数的话,将会发出一个E_STRICT的警告,因为这个传入的参数被视为静态方法。
-
语法
call_user_func( callable $callback [, mixed $parameter [, mixed $... ]] )
call_user_func() 第一个参数 callback 是被调用的回调函数,其余参数是回调函数的参数。 -
参数
参数 必需的 描述 callback 是 被调用的回调函数。 parameter 是(取决回调函数是否有参数) 0个或以上的参数,被传入回调函数。 注意:请注意,传入call_user_func()的参数不能为引用传递。error_reporting(E_ALL); function increment(&$var) { $var++; } $a = 0; call_user_func('increment', $a); echo $a."\n"; call_user_func_array('increment', array(&$a)); // You can use this instead before PHP 5.3 echo $a."\n";
以上例程输出:0 1
-
返回值
返回回调函数的返回值。 -
示例
尝试一下function barber($type) { echo "You wanted a $type haircut, no problem<br/>"; } call_user_func('barber', "mushroom"); call_user_func('barber', "shave");
-
相关页面
call_user_func_array() - 调用回调函数,并把一个数组参数作为回调函数的参数is_callable() - 检测参数是否为合法的可调用结构ReflectionFunction::invoke() - 调用函数ReflectionMethod::invoke() - 执行方法