从变量调用函数


call function from variable

$scripts[0] = 'Say Hello';
$scripts[1] = 'Dont Say Hello';
$scripts[2] = 'Welcome';
$function_name = str_replace(' ', '_', $scripts[0]);   //Name of the function "Say_Hello"
echo $function_name('Jolly');   // Should echo "Hello Jolly"

我有一个巨大的数组,里面充满了与函数相关的名称。在正常情况下,如果我们要调用函数 Say_Hello((,我们这样做是这样的:Say_Hello('Jolly'(。但是在我上面的例子中,函数的名称存储在一个变量中,所以我该如何调用它?

谢谢

查看 PHP 函数call_user_func

call_user_func — 调用第一个参数给出的回调

例:

<?php
error_reporting(E_ALL);
function increment(&$var)
{
    $var++;
}
$a = 0;
call_user_func('increment', $a);
echo $a."'n";
call_user_func_array('increment', array(&$a)); // You can use this instead before PHP 5.3
echo $a."'n";
?>