call_user_func()可以调用方法或函数
要调用一个函数,需要将字符串作为它的第一个参数
$returnVal = call_user_func('myFunction');
要调用类方法,则需要一个数组。数组的第一个元素是一个对象,第二个元素则是要调用的方法名
$returnVal = call_user_func(array($myObject,'methodname'));
你也可以传递任意参数给call_user_func(),作为目标方法或函数所需要的参数
$product = getProduct();
call_user_func(array($product,'setDiscount'),20);
等价于
$product->setDiscount(20);
call_user_func_array()函数更好用
使用方法(如选择目标方法或函数等)跟 call_user_func()相同
但它把目标方法所需的任何参数当做数组来接受。
call_user_func_array(array('className','methodName'),array(参数数组));