嗨,我有这样的疑问。 我有一个包含4个条目的php数组。我需要用它们创建一个CLASS任务。
$array=array('USER','username','other','test');
我想用它来生成这个
$array[0]::find_by_$array[1]($array[3]);
it must look as
USER::find_by_username(test);
如何将数组值转换为此行? 什么是正确的语法?
答案 0 :(得分:2)
call_user_func_array(array($array[0],'find_by_'.$array[1]),$array[3])
但这不是管理代码最干净的方法,没有验证类或方法是否存在,因此可能会失败
答案 1 :(得分:1)
您可以使用call_user_func_array
使用数组作为参数调用callback:
$callback = array($array[0], 'find_by_'.$array[1]);
$params = array($array[3]);
$ret = call_user_func_array($callback, $params);
答案 2 :(得分:1)
call_user_func_array(array($array[0], 'find_by_'.$array[1]), $array[3]);