2013-07-21 24 views
88

Sto scrivendo un'app PHP e voglio assicurarmi che funzioni senza errori.Differenza PHP tra array() e []

Il codice originale:

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

echo form_input($data); 
?> 

sarebbe il seguente lavoro senza errori o non è raccomandato per qualche motivo?

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

C'è qualche differenza?

Ho rivisto i dati relativi a array() e il metodo di array corto con parentesi quadre [] in PHP.net, ma non ne sono sicuro.

E inoltre, il tag php <?= ?> è valido per l'eco? C'è qualche problema di versione? (Fornito è abilitato in php.ini)

+0

La sintassi dell'array breve è stata introdotta in PHP 5.4, non vi è alcuna differenza e il vecchio metodo non verrà rimosso, quindi è sicuro utilizzarlo. I tag brevi sono solitamente disapprovati, non li userei. – JimL

+1

Tks, qualsiasi riferimento/ragione su non usare tag short php? –

+7

Anche se gli non sono effettivamente considerati tag di corto, non sono disabilitati con gli afaik degli shorttag standard quindi dovrebbero essere adatti per echi semplici. –

risposta

147

seguito [] è supportata in PHP> = 5.4:

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

Questa è una breve sintassi solo in PHP < 5.4 non funzionerà.

+0

Sembra 5.3 .24 supporta anche questa sintassi. (non è stato possibile confermare direttamente) – Alberto

+2

c'è qualche differenza? – Cooper

+13

@CooPer, No, a meno che non si contenga la lunghezza di digitazione. –