我正在编写一个PHP应用程序,我想确保它没有错误。
原始代码:
<?php
$data = array('name' => 'test',
'id' => 'theID');
echo form_input($data);
?>
以下工作是否会出现错误或因某些原因而不推荐使用?
<?= form_input(['name' => 'test', 'id' => 'theID']); ?>
有什么不同吗?
我在PHP.net中再次查看了有关array()
和带方括号[]
的短数组方法的数据,但我不确定。
而且,简短的php标签<?= ?>
是否可以回复?有版本问题吗? (提供在php.ini中启用)
答案 0 :(得分:191)
PHP&gt; = 5.4:
支持以下[]
['name' => 'test', 'id' => 'theID']
这只是一种简短的语法,在 PHP&lt; 5.4它不起作用。
答案 1 :(得分:2)
如果使用的是5.3或更早版本,则不能将[]
用作数组和关联数组。
如果您使用的是5.4或更高版本的PHP,则可以使用array()
或[]
来创建数组,关联数组甚至多维数组。
答案 2 :(得分:1)
截至2019年,距添加[]
语法已有7年了。我认为,除旧的旧版程序外,删除array()
的时间已足够。
答案 3 :(得分:0)
关于问题的<?= ?>
部分:不在很大程度上不被接受,至少在2019年不是如此。
<?php
和<?=
标签。答案 4 :(得分:-2)
使用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>