Array ()和[]之间的 PHP 差异

我正在编写一个 PHP 应用程序,我想确保它将工作没有错误。

原始代码:

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


echo form_input($data);
?>

下面的工作是否没有错误,或者由于某些原因不建议使用?

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

有什么区别吗?

我在 PHP.net 中再次查看了关于 array()和带有方括号 []的短数组方法的数据,但是我不确定。

还有,短的 php 标签 <?= ?>可以做回声吗?有版本问题吗?(只要在 php.ini 中启用)

104784 次浏览

PHP > = 5.4支持以下 []:

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

这只是一个简短的语法,在 PHP < 5.4它不会工作中也是如此。

如果你使用的是5.3或者更早的版本,那么你不能同时使用数组和关联数组。 如果您使用的是5.4或更高版本的 PHP,那么您可以使用 array()[]来创建一个数组、关联数组或甚至多维数组。

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

截至2022年,自 []语法被添加以来已经过去了10年。在我看来,除了旧的遗留程序之外,这段时间足以删除 array()

至于问题的 <?= ?>部分: 它在很大程度上不被 没有所接受,至少在2019年不会。

  1. 一个很好的技术故障: https://softwareengineering.stackexchange.com/questions/151661/is-it-bad-practice-to-use-tag-in-php
  2. PSR-1中的注意事项: 文件 必须的只使用 <?php<?=标记。
  3. 没有理由不能或不应该使用它。