匿名函数在PHP5.5.x中不起作用

匿名函数在PHP5.5.x中不起作用,php,cakephp,anonymous-function,Php,Cakephp,Anonymous Function,下面是我项目中的一个小代码片段 if (!empty($user['IndustryUser'])) { $user['IndustryUser'] = array_filter($user['IndustryUser'], function ($ku) { $k = !empty($ku['Industry']['name']) ? trim($ku['Industry']['name']): ''; return $k != ''; });

下面是我项目中的一个小代码片段

if (!empty($user['IndustryUser'])) {
    $user['IndustryUser'] = array_filter($user['IndustryUser'], function ($ku) {
        $k = !empty($ku['Industry']['name']) ? trim($ku['Industry']['name']): '';
        return $k != '';
    });


    $userIndustries = array();
    foreach ($user['IndustryUser'] as $ku) {
        $userIndustries[] = $ku;
    }
    $user['IndustryUser'] = $userIndustries;
}
此代码存在于名为
User.php
的模型中。在
app/console/command
中还有一个名为
FetchIndustriesShell.php
的shell脚本,它使用了这个模型。 当我从命令行运行这个脚本时,如
cake
,我得到以下错误

Parse error: syntax error, unexpected T_FUNCTION in D:\wamp\www\industry-svn\
app\Model\User.php on line 203
其中第203行定义了匿名函数(代码段的第2行)

我试过的是

1) 在bootstrap.php中运行phpinfo()以验证php版本。它显示的是
PHP5.5.12
(附屏幕截图)

2) 我安装了xampp,以验证我的wampp安装/php库是否有问题。但我还是犯了同样的错误

3) 也提到。但这也无济于事

  • 使用的CakePHP版本为:2.5.1
  • 当前运行的项目:wampp(本地)

由于问题只在您从命令行运行时才会出现,因此
cake
命令使用了错误的PHP二进制文件检查
cake
正在使用的PHP环境。在终端上启动php-v。它将在命令行中提供正在使用的php版本。PHP版本必须与您在
phpinfo()
谢谢大家,这对我来说很有用。我不知道命令行的PHP环境。它是5.2.x。替换了它,通过更改环境变量为新的PHP库提供了路径。鉴于此问题仅在从命令行运行它时才会出现,因此,
cake
命令使用了错误的PHP二进制文件检查
cake
正在使用的PHP环境。在终端上启动php-v。它将在命令行中提供正在使用的php版本。PHP版本必须与您在
phpinfo()
谢谢大家,这对我来说很有用。我不知道命令行的PHP环境。它是5.2.x。替换它,通过更改环境变量给出新PHP库的路径。