2016-12-17 3 views
1

Мне нужно вызвать функции в соответствии с совпадающими значениями ключа foreach. Как и asso1, клавиша вызовет функцию asso1(), а asso2 вызовет функцию asso2(). Я имею в виду, что имя функции является динамическим. Значением ключа массива будет имя функции, которое нужно вызвать. Как я могу это достичь?Функциональный вызов Php с динамическим именем

function asso1() { 
    echo "output form asso1"; 
} 
function asso2() { 
    echo "output form asso2"; 
} 
function asso3() { 
    echo "output form asso3"; 
} 
$asso = array("asso1"=>"1", "asso2"=>"2", "asso3"=>"3"); 

foreach ($asso as $key => $_asso) { 
    print_r($key); //this will be name of function which need to be called. 
    // print_r($_asso); 
} 

ответ

0

Вы можете использовать функцию call_user_func() таким образом:

foreach ($asso as $key => $_asso) { 
    call_user_func($key); 
} 

Вы также можете использовать Variable functions

Смежные вопросы