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);
}
please help me
If you're using an older version of PHP (pre-5.4 I think), this syntax isn't supported:
$results = [];
You'd have to use the older version:
$results = array();
You will get this error for any PHP version below 5.4, as the short array syntax []
was not introduced until 5.4. You need to use array()
to instantiate arrays in PHP 5.3.x and earlier:
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 docs on arrays here.
Array is initialised by
$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);
}