我正在为一个游戏编写一个机器人,我正在编写我想调用我的数组的处理程序,以便它运行该函数。
$handlers = array(
"x" => function()
);
function function($m)
{
echo "Var: " . $m . "\n";
}
当我打电话给处理程序时,我尝试了这样:
$handlers("x");
那么如何将变量传递给函数。
答案 0 :(得分:3)
您需要的是call_user_func功能。此外,在$handlers
数组中,函数的名称必须使用引号,并且不能使用保留关键字function
作为函数的名称!并且您可以使用[]
运算符访问数组元素:
$handlers = array(
"x" => '_function'
);
function _function($m)
{
echo "Var: " . $m . "\n";
}
call_user_func($handlers['x'], "hello :)");
答案 1 :(得分:0)
为了完整起见,您也可以这样做:
$handlers = array(
"x" => 'test'
);
function test($m) {
echo "Var: " . $m . "\n";
}
$handlers['x']("testing...");