如何call_user_func_array内部方法

How to call_user_func_array inner method

我需要 运行 正确地像这样:

$anchor->get_by_number(49)->set_value("hello");

其中对象名称、方法和参数是变量:

$object = 'anchor';
$method1 = 'get_by_number';
$params1 = array('49');
$method2 = 'set_value';
$params2 = array('hello');

使用 call_user_func_array,或者有人知道替代方案。

从 PHP 5.6 开始,您可以使用参数解包 ...:

${$object}->$method1(...$params1)->$method2(...$params2);

要用 call_user_func_array 做,只需嵌套它们:

call_user_func_array(array(call_user_func_array(array(${$object}, $method1), $params1),
                                                                  $method2), $params2);