Parse error: syntax error, unexpected '[' in

Parse error: syntax error, unexpected '[' in

解析错误:语法错误,在 $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);
}

请帮帮我

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

$results = [];

您必须使用旧版本:

$results = array();

任何低于 5.4 的 PHP 版本都会出现此错误,因为短数组语法 [] 直到 5.4 才被引入。在PHP 5.3.x及更早版本中需要使用array()实例化数组:

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);
}

PHP 关于数组的文档 here

数组由

初始化
$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);
    }