3

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

4

3 回答 3

6

PHP 5.4.0 提供了广泛的新功能:阅读更多

添加了短数组语法,

例如

$a = [1, 2, 3, 4]; or $a = ['one' => 1, 'two' => 2, 'three' => 3, 'four' => 4];

低于 5.4.0 的版本不支持上述语法。据我了解,您可能在 Linux 和 Windows 中运行不同版本的 PHP。用于phpinfo()检查 PHP 版本。

于 2013-05-14T08:27:15.173 回答
6

[]语法仅在PHP 5.4 或更新版本中有效,请在 windows 上检查您的 PHP 版本。

于 2013-05-14T08:26:35.820 回答
2

您应该检查 Linux 和 Windows 机器上的 PHP 版本。

我怀疑你的 Linux 有 PHP 5.4+ 而 Windows 有 PHP 5.3.x 或更低版本。

我建议您使用仅在 5.4 中有效array()的短数组语法。[]

于 2013-05-14T08:30:35.793 回答