2013-05-14 55 views
3

我無法找到這種情況的答案,我今天早上偶然發現了這種情況。我已經聲明瞭一些php變量,正如我通常在javascript中所做的(錯誤)。我很驚訝代碼實際上工作。我已經在Linux下測試過它,它工作正常。在Windows下WAMP不起作用。聲明PHP數組爲javascript數組的情況

代碼:

<?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中的有效聲明?

回答

6

PHP 5.4.0提供廣泛的新的特點:Read more

短數組語法已被添加,

例如

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

上述語法在版本低於5.4.0的版本下不受支持。根據我的理解,您可能會在Linux中運行不同版本的PHP & Windows。使用phpinfo()檢查PHP版本。

+0

我接受了你的問題,因爲它有鏈接,即使'@Ardy Dedase'先回答了。 – machineaddict 2013-05-14 08:41:34

6

[]語法僅在PHP 5.4或更新版本有效,請在Windows上檢查您的PHP版本。

2

您應該在Linux和Windows機器上檢查PHP版本。

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

我建議您使用array()而不是短陣列語法[],它只在5.4中有效。

+0

是的,它就是這樣。 – machineaddict 2013-05-14 08:34:01