解析错误:语法错误,意外'['

时间:2013-03-26 02:35:56

标签: php parsing syntax

我现在有一些奇怪的问题。 显然,我的MySQL PDO驱动程序以及我的Apache服务器都出现了问题,所以我重新安装了它。 但是现在,在我这样做之后突然出现了这个解析错误:

Parse error: syntax error, unexpected '[' on line 5

嗯,这是第5行的代码:

return array_map(function ($val) { return explode('.', $val)[0]; }, scandir(DIR . M_DIR));

我真的不明白这一点。似乎无论我尝试做什么来解决这个错误 - 它仍然有效。 帮助

2 个答案:

答案 0 :(得分:2)

  

从PHP 5.4开始,可以直接对函数或方法调用的结果进行数组取消引用。之前只能使用临时变量。

array

请查看examples

您的代码必须是适合的

return array_map(
    function ($val)
        { 
        $temp = explode('.', $val); 
        return $temp[0]; 
        }, 
    scandir(DIR . M_DIR));

return array_map(
    function ($val)
        { 
        return current(explode('.', $val));
        }, 
    scandir(DIR . M_DIR));

答案 1 :(得分:1)

将爆炸的数组存储在另一个变量中,然后返回第0个索引。

像这样:

return array_map( function ($val) { 
        $temp explode('.', $val);
        return $temp[0];
    }, scandir(DIR . M_DIR));