2013-07-21 19 views
88

私はPHPアプリケーションを作成していますが、エラーなしで動作するようにしたいと思います。PHPの違いarray()と[]

元のコード:

<?php 
$data = array('name' => 'test', 
       'id' => 'theID'); 

echo form_input($data); 
?> 

は、またはエラーなしで、次の作業が何らかの理由で推奨されていませんか?

<?= form_input(['name' => 'test', 'id' => 'theID']); ?> 

違いがありますか?

array()のデータと、PHP.netの角括弧[]の短い配列方法を再度見てきましたが、わかりません。

また、短いphpタグ<?= ?>がエコーに適していますか?バージョンの問題はありますか? []

+0

PHP 5.4でショート配列の構文が導入されました。違いはなく、古い方法は削除されないので、どちらかを使用することは安全です。短いタグは、通常、私はそれらを使用しないで眉をすくう。 – JimL

+1

Tks、phpショートタグを使用していない場合の参照/理由はありますか? –

+7

は実際にはショートタグとはみなされませんが、標準的なショートタグafaikでは無効にされないため、単純なエコーに対しては問題ありません。 –

答えて

147

(提供がphp.iniで有効になっているが)> = 5.4 PHPでサポートされています。

['name' => 'test', 'id' => 'theID'] 

これだけ短い構文で、PHP < 5.4で、それはを動作しません。

+0

5.3 .24もこの構文をサポートしています。 (直接確認できませんでした) – Alberto

+2

は違いますか? – Cooper

+13

@CooPer、No、タイピングの長さを数えない限り。 –