Разница PHP между array() и []
Я пишу приложение PHP и хочу убедиться, что оно будет работать без ошибок.
Оригинальный код:
<?php
$data = array('name' => 'test',
'id' => 'theID');
echo form_input($data);
?>
Будет ли следующее работать без ошибок или не рекомендуется по какой-то причине?
<?= form_input(['name' => 'test', 'id' => 'theID']); ?>
Есть ли разница?
Я снова посмотрел данные о array()
и метод короткого массива в квадратных скобках []
в PHP.net, но я не уверен.
А также, это короткий тег php <?= ?>
хорошо для эха? Есть ли проблема с версией? (включено в php.ini)
2 ответа
Следующий []
поддерживается в PHP >= 5.4:
['name' => 'test', 'id' => 'theID']
Это только короткий синтаксис, и в PHP < 5.4 он не будет работать.
По состоянию на 2019 год прошло 7 лет с момента []
добавлен синтаксис. Этого достаточно, чтобы уронитьarray()
на мой взгляд, кроме старых устаревших программ.
Если вы используете 5.3 или предыдущую версию, то вы не можете использовать []
как массив, а также ассоциативный массив. Если вы используете 5.4 или более позднюю версию PHP, то вы можете использовать либо array()
или же []
создать массив, ассоциативный массив или даже многомерный массив.
А что касается <?= ?>
Часть вопроса: это в основном не осуждается, по крайней мере, в 2019 году.
- Хорошая техническая разбивка: https://softwareengineering.stackexchange.com/questions/151661/is-it-bad-practice-to-use-tag-in-php
- Примечание в PSR-1: файлы ДОЛЖНЫ использовать только
<?php
а также<?=
теги. - TL;DR: нет причин, по которым вы не можете или не должны его использовать.
Используя 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>