一尘不染

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

linux

我使用以下语法制作了一个带有数组的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 Server(PHP
5.3.10,使用apt-
get从存储库安装)时,出现错误:“解析错误:语法错误,/var/www/ShapeTest_server_get_dados.php中第13行出现意外的’[‘”。第13行是$
Legenda数组定义。

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


阅读 375

收藏
2020-06-03

共1个答案

一尘不染

所述缩短的阵列
语法只加入5.4 PHP:
阵列

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

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

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

现场结果

2020-06-03