声明php数组为javascript数组的情况

时间:2013-05-14 08:24:55

标签: php arrays

我无法找到这种情况的答案,我今天早上偶然发现了这种情况。我已经声明了一些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中数组的有效声明吗?

3 个答案:

答案 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中有效。