Parse error: syntax error, unexpected '[' in

18,370

Solution 1

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

Solution 2

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.

Share:
18,370
Ahmet Zeybek
Author by

Ahmet Zeybek

Updated on July 14, 2022

Comments

  • Ahmet Zeybek
    Ahmet Zeybek almost 2 years

    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