带动态名称的Php函数调用

时间:2016-12-17 03:49:51

标签: php

我需要根据foreach键值匹配来调用函数。像asso1键会调用asso1()函数,而asso2键会调用asso2()函数。我的意思是功能名称是动态的。数组键值将是需要调用的函数名称。我怎样才能做到这一点?

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

2 个答案:

答案 0 :(得分:1)

call_user_func是你的救世主。您可以从此处获取更多信息:http://php.net/manual/en/function.call-user-func.php

例如:

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

答案 1 :(得分:0)

您可以这样使用call_user_func()功能:

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

您也可以使用Variable functions