我无法找到这种情况的答案,我今天早上偶然发现了这种情况。我已经声明了一些php变量,就像我通常在javascript中那样(错误地)。我对代码实际工作感到惊讶。我在Linux下进行了测试,它运行正常。 Windows下的WAMP不起作用。
代码:
<?php
error_reporting(E_ALL);
$phones = [];
var_dump($phones);
?>
Linux中的结果:
array(0) {
}
Windows中的结果:
Parse error: syntax error, unexpected '[' in D:\wamp\www\test.php on line 7
问题:这是php中数组的有效声明吗?
答案 0 :(得分:6)
[]
语法仅在 PHP 5.4或更高版本中有效,请在Windows上检查您的PHP版本。
答案 1 :(得分:6)
PHP 5.4.0提供了广泛的新功能:Read more
添加了短数组语法
e.g。
$a = [1, 2, 3, 4]; or $a = ['one' => 1, 'two' => 2, 'three' => 3, 'four' => 4];
版本低于5.4.0不支持以上语法。根据我的理解你可能在Linux和Linux中运行不同版本的PHP视窗。使用phpinfo()
检查PHP版本。
答案 2 :(得分:2)
您应该在Linux和Windows计算机上检查PHP版本。
我怀疑你的Linux有PHP 5.4+,Windows有PHP 5.3.x或更低版本。
我建议你使用array()
而不是短数组语法[]
,它只在5.4中有效。