解析错误:语法错误,意外' ['在 $ 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);
}
请帮帮我
答案 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);
}