我需要正确运行这样的事情:
$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
,或者有人知道替代方案。
答案 0 :(得分:0)
从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);