PHP-2d数组中的函数

PHP-2d数组中的函数,php,Php,我有一个2d数组,其中包含一个我想要执行的匿名函数。由于某种原因,我在如何调用函数方面没有什么进展 以下操作将引发一个错误: $someArray[] = ['somevalue', function () {echo "test function";}]; $someArray[0][1](); 错误: Notice: Undefined variable Fatal error: Function name must be a string 如果我这样做,它将工作 $someFunc =

我有一个2d数组,其中包含一个我想要执行的匿名函数。由于某种原因,我在如何调用函数方面没有什么进展

以下操作将引发一个错误:

$someArray[] = ['somevalue', function () {echo "test function";}];
$someArray[0][1]();
错误:

Notice: Undefined variable
Fatal error: Function name must be a string
如果我这样做,它将工作

$someFunc = $someArray[0][1];
$someFunc();

要在数组中调用函数,请使用以下命令:

call_user_func($someArray[0][1], $arg1, $arg2, $arg3);
或者这个:

call_user_func_array($someArray[0][1], array($arg1, $arg2, $arg3));

在PHP5.4之前,调用这样的函数是行不通的

如果您必须能够做到这一点,那么您必须升级到PHP5.4或更高版本


在旧版本的PHP中,您必须在使用闭包之前取消对闭包的引用(将其从数组中取出)。

您想要的必须仅在5.4版本中起作用