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

时间:2015-06-29 12:48:41

标签: php arrays parsing syntax

解析错误:语法错误,意外' ['在 $ results = [];

function class_uses_recursive($class)
{
    $results = [];

    foreach (array_merge([$class => $class], class_parents($class)) as $class)
    {
        $results += trait_uses_recursive($class);
    }

    return array_unique($results);
}

请帮帮我

3 个答案:

答案 0 :(得分:17)

如果您使用旧版本的PHP(我认为是5.4之前的版本),则不支持此语法:

$results = [];

您必须使用旧版本:

$results = array();

答案 1 :(得分:2)

对于5.4以下的任何PHP版本,您将收到此错误,因为直到5.4才会引入短数组语法[]。您需要使用array()来实例化PHP 5.3.x及更早版本中的数组:

function class_uses_recursive($class)
{
    $results = array();

    foreach (array_merge(array($class => $class), class_parents($class)) as $class)
    {
        $results += trait_uses_recursive($class);
    }

    return array_unique($results);
}

数组here上的PHP文档。

答案 2 :(得分:0)

数组由

初始化
$results = array(); // use this


 function class_uses_recursive($class)
    {
        $results = []; //instead of this .

        foreach (array_merge([$class => $class], class_parents($class)) as $class)
        {
            $results += trait_uses_recursive($class);
        }

        return array_unique($results);
    }
相关问题