call_user_func_array的讲解 - youngperson/study-100 GitHub Wiki

call_user_func_array

  • mixed call_user_func_array ( callable $callback , array $param_arr )
  • 调用回调函数,并把一个数组参数作为回调函数的参数
  • 把第一个参数作为回调函数(callback)调用,把参数数组作(param_arr)为回调函数的的参数传入(得是索引数组)。
  • 返回回调函数的结果。如果出错的话就返回FALSE

例子

<?php
function 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 arguments
call_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"));
  • 场景
  • call_user_func_array([$redis, 'hDel'], $hashKeys); $hashKeys第一个值是一级key,第二个开始都是二级key,实现批量删除
  • 动态调用函数时,比如参数个数或调用方法名称不确定的时候很好用