php call_user_func_array()

2015-03-29 20:10:00
hainuo
原创 1736
摘要:把第一个参数作为回调函数(callback),并且将其余的参数作为回调函数的参数。
更详细内容请参见[http://php.net/manual/zh/function.call-user-func-array.php](http://php.net/manual/zh/function.call-user-func-array.php)mixed call_user_func_array ( callable $callback , array $param_arr )把第一个参数作为回调函数(callback调用),把参数数组作param_arr为回调函数的的参数传入。### 参数[ ¶](http://php.net/manual/zh/function.call-user-func-array.php#refsect1-function.call-user-func-array-parameters)callback被调用的回调函数。要被传入回调函数的数组,这个数组得是索引数组。### 返回值[ ¶](http://php.net/manual/zh/function.call-user-func-array.php#refsect1-function.call-user-func-array-returnvalues)返回回调函数的结果。如果出错的话就返回FALSE普通的例子  不带命名空间 ```<?phpfunction foobar($arg, $arg2) { echo __FUNCTION__, " got $arg and $arg2\n";}class foo { function bar($arg, $arg2) { echo __METHOD__, " got $arg and $arg2\n"; }}// Call the foobar() function with 2 argumentscall_user_func_array("foobar", array("one", "two"));// Call the $foo->bar() method with 2 arguments$foo = new foo;call_user_func_array(array($foo, "bar"), array("three", "four"));?>```命名空间方式```<?phpnamespace Foobar;class Foo { static public function test($name) { print "Hello {$name}!\n"; }}// As of PHP 5.3.0call_user_func_array(__NAMESPACE__ .'\Foo::test', array('Hannes'));// As of PHP 5.3.0call_user_func_array(array(__NAMESPACE__ .'\Foo', 'test'), array('Philip'));?>```海诺学习笔记,通过以上可以充分的使用回调函数解决我们遇到的很多难题。在onethink cmf中有一个api就是使用了这个函数,非常好用
发表评论
拾 减 壹 =
评论通过审核后显示。