web-dev-qa-db-ja.com

PHP array()と[]の違い

私はPHPアプリを書いていますが、エラーなく動作することを確認したいと思います。

元のコード:

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

echo form_input($data);
?>

エラーなしで次の作業を行うか、何らかの理由で推奨されませんか?

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

違いはありますか?

PHP.netでarray()および角括弧で囲まれた短い配列メソッド[]に関するデータを再度調べましたが、よくわかりません。

また、短いphpタグ<?= ?>はエコーに適していますか?バージョンの問題はありますか? (php.iniで有効になっている場合)

128
Mr.Web

次の[]はPHP> = 5.4でサポートされています:

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

これは短い構文のみであり、PHP <5.4では動作しませんです。

202
The Alpha

2019年、[]構文が追加されてから7年が経ちました。私の意見では、これは古いレガシープログラムを除いてarray()を削除するのに十分な長さです。

6
David Spector

5.3以前のバージョンを使用している場合は、[]を配列および連想配列として使用することはできません。 PHPの5.4以降のバージョンを使用している場合、array()または[]のいずれかを使用して、配列、連想配列、または多次元配列を作成できます。

3
Md. A. Barik

PHP 7.2を使用すると、私にとっては[私は配列です] {私は配列が機能しているようです}違いは{}[]の違いです。私のコード

<p>
  <label for="post_category"> Cat 1 </label>
  <input type="checkbox" name="post_category{first}" value="cat1">
  <br />
  <label for="post_category{second}"> Cat 2 </label>
  <input type="checkbox" name="post_category" value="cat2">
</p>
0
Mahad Ali