数组的PHP语法:PHP版本之间的不同行为

时间:2013-05-08 11:35:49

标签: php linux windows

我使用以下语法创建了一个包含数组的PHP页面:

$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]
];

在Windows上工作正常(PHP 5.4.6,使用EasyPHP安装),但当我将同一页面上传到Ubuntu服务器(PHP 5.3.10,使用apt-get从存储库安装)时,我收到一个错误: “解析错误:语法错误,意外'['在第13行的/var/www/ShapeTest_server_get_dados.php中”。第13行是$ Legenda数组定义。

自从我用PHP编程以来已经有一段时间了,但我记得语法是有效的。这是一个默认情况下在Linux上关闭的选项,或者为什么这不起作用?

1 个答案:

答案 0 :(得分:4)

shortened array syntax仅在PHP 5.4中添加:Arrays

  

从PHP 5.4开始,您还可以使用短数组语法,将array()替换为[]

<?php
$array = array(
    "foo" => "bar",
    "bar" => "foo",
);

// as of PHP 5.4
$array = [
    "foo" => "bar",
    "bar" => "foo",
];
?>

Live result