-2
$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')。但在我上面的例子中,函数的名称存储在一个变量中,那么我该如何调用它呢?

谢谢

4

1 回答 1

1

查看 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";
?>
于 2012-08-29T16:14:29.667 回答