将php数组声明为javascript数组


Declare php array as javascript array situation

我无法找到今天早上偶然发现的这种情况的答案。我已经声明了一些php变量,因为我通常在javascript(错误)。我很惊讶代码居然能正常工作。我在Linux下测试了它,它工作得很好。Windows下的WAMP无法工作

代码:

<?php
error_reporting(E_ALL);
$phones = [];
var_dump($phones);
?>

Linux下的Result:

array(0) {
}

结果在Windows:

Parse error: syntax error, unexpected '[' in D:'wamp'www'test.php on line 7

问题:这是php中一个有效的数组声明吗?

PHP 5.4.0提供了广泛的新特性:

添加了短数组语法,

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

以上语法在5.4.0以下版本不支持。根据我的理解,您可能在Linux中运行不同版本的PHP。窗户使用phpinfo()检查PHP版本

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

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

我怀疑你的Linux是PHP 5.4+,而Windows是PHP 5.3。

我建议您使用array()而不是短数组语法[],这仅在5.4中有效。