2013-07-21 62 views
88

我正在写一个PHP应用程序,我想确保它能正常工作,没有错误。PHP之间的差异()和[]

原始代码:

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

echo form_input($data); 
?> 

会没有错误或以下工作建议不要因为某些原因?

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

有什么区别吗?

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

而且,短php标签<?= ?>罚款回声?有没有版本问题? (前提是在php.ini启用)

+0

短阵列语法是在PHP 5.4中引入的,没有区别,旧方法也不会被删除,所以使用它也是安全的。短标签通常是皱眉,我不会使用它们。 – JimL

+1

Tks,没有使用PHP短标签的任何参考/原因? –

+7

虽然实际上并不被视为短标签,但它们不会被标准短标签afaik禁用,因此它们对于简单回声应该没问题。 –

回答

147

[]在PHP> = 5.4支持:

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

这仅仅是在短语法PHP < 5.4将无法正常工作

+0

看来5.3 .24也支持这种语法。 (不能直接确认) – Alberto

+2

你有什么区别吗? – Cooper

+13

@CooPer,不,除非您计算打字的长度。 –