匿名函数在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库的路径。