3

今朝出くわしたこの状況に対する答えを見つけることができませんでした。私は通常、javascript で行うように (誤って)、いくつかの php 変数を宣言しました。コードが実際に機能することに驚きました。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 以降でのみ有効です。Windows で PHPのバージョンを確認してください。

于 2013-05-14T08:26:35.820 に答える
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 に答える
2

Linux マシンと Windows マシンの両方で PHP のバージョンを確認する必要があります。

あなたの Linux には PHP 5.4+ があり、Windows には PHP 5.3.x 以下があると思います。

5.4 でのみ有効なarray()短い配列構文の代わりに使用することをお勧めします。[]

于 2013-05-14T08:30:35.793 に答える