2013-07-21 15 views
88

Piszę aplikację PHP i chcę się upewnić, że będzie działać bez żadnych błędów.PHP Różnica między tablicami() i []

Oryginalny kod:

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

echo form_input($data); 
?> 

Czy następujące prace bez błędów lub nie jest zalecane z jakiegoś powodu?

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

Czy są jakieś różnice?

Po raz kolejny przejrzałem dane o array() i metodzie krótkich tablic z nawiasami kwadratowymi [] w PHP.net, ale nie jestem pewien.

A także, czy krótki tag php <?= ?> jest dobry do echowania? Czy jest jakiś problem z wersją? (O ile jest włączona w pliku php.ini)

+0

Skróconą składnię tablic wprowadzono w PHP 5.4, nie ma różnicy, a stara metoda nie zostanie usunięta, więc można jej bezpiecznie używać. Krótkie znaczniki są zazwyczaj mile widziane, nie używałbym ich. – JimL

+1

Tks, wszelkie odniesienia/powód, dla których nie używasz krótkich tagów php? –

+7

Chociaż w rzeczywistości nie są uważane za krótkie znaczniki, nie są one wyłączane za pomocą standardowych krótkich tagów afaik, więc powinny być w porządku dla prostych ech. –

Odpowiedz

147

Po [] jest obsługiwana w PHP> = 5,4:

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

Jest to tylko i krótki składnia PHP < 5.4 nie będzie działać.

+0

Wydaje się, że 5.3 .24 obsługuje również tę składnię. (nie mogłem potwierdzić bezpośrednio) – Alberto

+2

czy jest jakaś różnica? – Cooper

+13

@CooPer, Nie, chyba że policzycie długość pisania. –