Sintassi PHP per arrays: comportmento diverso tra le versioni di PHP

Ho creato una pagina PHP con un arrays usando la seguente syntax:

$Legenda = [ "Cores" => ["#FF0000", "#FFA500", "#FFFF00", "#64FF00", "#00AA00", "#005500", "#0000FF"], "ValMinimos" => [50, 62.85714, 75.71429, 88.57143, 101.42857, 114.28571, 127.12286], "ValMaximos" => [62.85714, 75.71429, 88.57143, 101.42857, 114.28571, 127.12286, 140] ]; 

che funziona bene su Windows (PHP 5.4.6, installato usando EasyPHP), ma quando ho caricato la stessa pagina su un server Ubuntu (PHP 5.3.10, installato usando apt-get dai repository), ricevo un errore: "Errore Parse : errore di syntax, imprevisto '[' in /var/www/ShapeTest_server_get_dados.php sulla row 13 ". La row 13 è la definizione dell'arrays $ Legenda.

È passato un po 'di tempo da quando ho programmato con PHP, ma ricordo che la syntax era valida. È un'opzione distriggersta per impostazione predefinita su linux, o perché non funziona?

La syntax dell'arrays abbreviato è stata aggiunta solo in PHP 5.4: Arrays

A partire da PHP 5.4 è anche ansible utilizzare la syntax dell'arrays breve, che sostituisce arrays() con [] .

 <?php $arrays = arrays( "foo" => "bar", "bar" => "foo", ); // as of PHP 5.4 $arrays = [ "foo" => "bar", "bar" => "foo", ]; ?> 

Risultato dal vivo