PHP Difference between array() and []

半腔热情 提交于 2019-11-26 06:32:21

问题


I\'m writing a PHP app and I want to make sure it will work with no errors.

The original code:

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

echo form_input($data);
?>

Would the following work with no errors or is not recommended for some reason?

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

Are there any difference?

I\'ve looked again the data about array() and the short array method with square brackets [] in PHP.net but I\'m not sure.

And also, is the short php tag <?= ?> fine for echoing? Is there any version issue? (provided is enabled in php.ini)


回答1:


Following [] is supported in PHP >= 5.4:

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

This is a short syntax only and in PHP < 5.4 it won't work.




回答2:


As of 2019, it has been 7 years since the [] syntax was added. That is long enough to drop array() except in old legacy programs, in my opinion.




回答3:


If you are using 5.3 or previous version then you can't use [] as an array as well as associative array. If you are using 5.4 or later version of PHP then you can use either array() or [] to create an array, associative array or even multidimensional array.




回答4:


And regarding the <?= ?> part of the question: it is largely not frowned upon, at least not in 2019.

  1. A good technical breakdown: https://softwareengineering.stackexchange.com/questions/151661/is-it-bad-practice-to-use-tag-in-php
  2. A note in PSR-1: Files MUST use only <?php and <?= tags.
  3. TL;DR: There is no reason you cannot or should not use it.



回答5:


Using php 7.2, for me it seems rather then [I am a an array] {I am an array seems to work}. Difference is between {} and []. My code

<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>


来源:https://stackoverflow.com/questions/17772534/php-difference-between-array-and

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!