2012-01-30 2 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

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); 
Смежные вопросы