2010-08-22 7 views
8

possibili duplicati:
How are echo and print different in PHP?
Is there any difference between ‘print’ and ‘echo’ in PHP?
What’s the difference of echo,print,print_r in PHP?Differenze tra eco, eco(), la stampa e la stampa() in PHP

Ci sono diversi modi per stampare output in PHP; incluso ma non limitato a:

echo 'Hello'; 
echo ('Hello'); 
print 'Hello'; 
print ('Hello'); 

Ci sono differenze tra questi quattro? Inoltre, le parentesi fanno alcuna differenza?

+0

Perché tutte le risposte "duplicate" portano a "chiuse come possibili risposte duplicate"? – Bonzo

risposta

1

due differenze:

print ha un valore di ritorno (sempre 1), echo non lo fa. Pertanto, print può essere utilizzato come espressione.

echo accetta più argomenti. Quindi puoi scrivere echo $a, $b invece di echo $a . $b.

Per quanto riguarda le parentesi: sono semplicemente errate nei miei occhi. Non hanno alcuna funzione. Potresti anche scrivere echo (((((((((($a)))))))))); le persone solitamente includono parentesi dall'ignoranza, pensando che print sia una funzione. Inoltre aumenta la possibilità di errori di interpretazione. Ad esempio, print("foo") && print("bar") non stampa foobar, poiché PHP lo interpreta come print(("foo") && print("bar")). Quindi, bar1 verrà stampato, anche se sembra diverso.

+0

So che Python non è PHP, ma loro [vietato] (http://docs.python.org/release/3.0.1/whatsnew/3.0.html#print-is-a-function) l'uso di 'print ' qualcosa ', ora devi sempre usare 'print (' qualcosa ')' con le parentesi. – Aillyn

+0

Vedi anche: http://www.ideone.com/LUOOG – Aillyn

+0

No. Fa la differenza. Anche se esce lo stesso, la versione con parentesi * sembra * diversa. Le parentesi e la funzione come la formattazione lo rendono diverso. Almeno sarei ingannato nel pensare che produca 'foobar', se non mi fermassi a pensarci. – NikiC