2010-04-25 18 views
5

Qual è la differenza tra questi tre?diference tra return, echo e print keyword in PHP

ritorno, eco e parola chiave di stampa in PHP

function theBand($abc,$bac) { 

return $abc; 
echo $abc; 

} 

Sia fa lo stesso, tuttavia esse indicano o mi restituiscono il valore tenendo in abc variabile. Ora restituisce la funzione e l'eco continua. Oltre a questo c'è qualcosa di specifico sulla parola chiave di ritorno.

+0

Entrambi non fanno lo stesso lavorare però, ti sbagli. – zerkms

+0

'echo' e' print' stampa sullo schermo letteralmente. 'Return' ti dà il valore POI fai ciò che vuoi, cioè. 'Echo'. 'Return' è migliore in molti casi. – Foxinni

risposta

15

return è un costrutto di linguaggio utilizzato per uscire da una funzione e fornire un valore al chiamante della funzione.

echo e print sono entrambi costrutti di linguaggio che generano stringhe. La differenza principale è che echo può accettare più argomenti separati da virgole, ma la stampa accetta solo un singolo argomento.

+0

cosa significa questa tua affermazione? fornisce un valore al chiamante della funzione e fa echo e stampa non esce da una funzione dall'esecuzione dell'istruzione successiva – Kevin

+0

@theband: non sono sicuro esattamente di cosa hai bisogno che io chiarisca. 'return' è praticamente lo stesso in PHP come in qualsiasi altra lingua - restituisce un valore. Hai usato 'return' prima in qualsiasi lingua? C'è una parola specifica nella mia risposta che non capisci? Conosci le funzioni e il loro scopo? Per quanto riguarda la tua seconda domanda, hai ragione che 'print' e' echo' non causano l'uscita dalla funzione. L'esecuzione continua nella riga successiva. –

+0

Ho aggiornato la mia domanda, per favore controlla e ringrazia per la risposta. – Kevin

0

restituisce 1, mentre l'eco non restituisce nulla. Anche Echo può prendere più argomenti, come sottolinea Mark.

return (nel contesto di una funzione) consente di uscire dalla funzione (Restituzione di un valore, se previsto). Nel contesto globale, return interromperà l'esecuzione di qualsiasi file in esso contenuto. Quindi puoi salvare un file include o interrompere l'esecuzione dello script principale in questo modo.

3

return viene utilizzato quando una funzione deve restituire un valore.

vedere HERE

echo e print sono molto simili ma echo è più veloce in quanto non restituisce un valore.

  1. Velocità. C'è una differenza tra i due, ma in termini di velocità dovrebbe essere irrilevante quale si usa. echo è leggermente più veloce dal momento che non imposta un valore di ritorno se si vuole davvero scendere al livello più alto.

  2. Espressione. print() si comporta come una funzione in che si può fare:

    $ret = print "Hello World"; 
    

    E $ret sarà 1. Ciò significa che print può essere utilizzato come parte di un'espressione più complesso in cui echo non può. Un esempio dal manuale PHP:

    $b ? print "true" : print "false"; 
    

    print è anche parte della tabella di precedenza che ha bisogno di essere se è essere utilizzati entro un'espressione complessa. Si tratta solo in fondo dell'elenco di precedenza. Solo ",", AND, OR e XOR sono inferiori.

  3. Parametro/i. La grammatica è: echo expression [, expression[, expression] ... ]. Ma echo (expression, expression) non è valido. Questo sarebbe valido: echo ("howdy"),("partner"); uguale a: echo "howdy","partner"; (Mettere le parentesi quadre in questo semplice esempio non serve a nulla in quanto non esiste alcun problema di precedenza degli operatori con un unico termine simile.)

Quindi, echo senza parentesi può prendere più parametri, che vengono concatenati:

echo "and a ", 1, 2, 3; // comma-separated without parentheses 
echo ("and a 123");  // just one parameter with parentheses 

print() può richiedere un solo parametro:

print ("and a 123"); 
print "and a 123"; 
+0

Ho pensato che una buona formattazione sarebbe stata gradevole per la tua risposta. ;) – Gumbo