2012-01-30 67 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);