我无法找到这种情况的答案,我今天早上偶然发现了这种情况.我已经声明了一些php变量,就像我通常在javascript中那样(错误地).我对代码实际工作感到惊讶.我在Linux下进行了测试,它运行正常.Windows下的WAMP不起作用.
代码:
<?php
error_reporting(E_ALL);
$phones = [];
var_dump($phones);
?>
Run Code Online (Sandbox Code Playgroud)
Linux中的结果:
array(0) {
}
Run Code Online (Sandbox Code Playgroud)
Windows中的结果:
Parse error: syntax error, unexpected '[' in D:\wamp\www\test.php on line 7
Run Code Online (Sandbox Code Playgroud)
问题:这是php中数组的有效声明吗?
PHP 5.4.0提供了广泛的新功能:阅读更多内容
添加了短数组语法,
例如
$a = [1, 2, 3, 4]; or $a = ['one' => 1, 'two' => 2, 'three' => 3, 'four' => 4];
Run Code Online (Sandbox Code Playgroud)
版本低于5.4.0不支持以上语法.根据我的理解,您可能在Linux和Windows中运行不同版本的PHP.使用phpinfo()检查PHP版本.