2012-01-30 37 views
0

嗨,我有这样的问题。 我有一个PHP数组,4条目。我需要与他们一起创建一个CLASS任务。PHP转换数组条目

$array=array('USER','username','other','test'); 

此我要用来生成此

$array[0]::find_by_$array[1]($array[3]); 

it must look as  
    USER::find_by_username(test); 

我怎样才能数组值转换成这条线? 什么是正确的语法?

回答

2
call_user_func_array(array($array[0],'find_by_'.$array[1]),$array[3]) 

但是,这是不是管理你的代码最干净的方式,有没有验证的类或方法存在,因此受到潜在的故障

+0

是的,这项工作很好。谢谢 :) – Svetoslav 2012-01-30 09:27:48

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);