2013-07-21 218 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,不,除非您計算打字的長度。 –