2010-04-25 7 views
5

Was ist der Unterschied zwischen diesen drei?diference zwischen return, echo und print Schlüsselwort in PHP

Rückkehr, Echo und Druck Schlüsselwort in PHP

function theBand($abc,$bac) { 

return $abc; 
echo $abc; 

} 

Beide tut das gleiche, es tut Show oder Rückkehr ich den Wert in der Variablen abc halten. Jetzt gibt es die Funktion und das Echo wird fortgesetzt. Abgesehen davon gibt es etwas Spezifisches zum Schlüsselwort return.

+0

Beide nicht das gleiche tun Arbeit, du liegst falsch. – zerkms

+0

'echo' &' print' druckt wörtlich zu screenen. 'Return' gibt Ihnen nur den Wert, DANN zu tun, was Sie wollen, dh. "Echo". 'Return' ist in vielen Fällen besser. – Foxinni

Antwort

15

return ist ein Sprachkonstrukt, das verwendet wird, um eine Funktion zu beenden und dem Aufrufer der Funktion einen Wert zu geben.

echo und print sind beide Sprachkonstrukte, die Strings ausgeben. Der Hauptunterschied besteht darin, dass echo mehrere durch Kommas getrennte Argumente annehmen kann, aber print nur ein einzelnes Argument akzeptiert.

+0

Was bedeutet diese Aussage? geben Sie einen Wert für den Aufrufer der Funktion und tut Echo und Drucken nicht verlassen eine Funktion von der Ausführung der nächsten Anweisung – Kevin

+0

@THeband: Ich bin mir nicht sicher, was genau Sie mich brauchen, um zu klären. 'return' ist in PHP so ähnlich wie in jeder anderen Sprache - es gibt einen Wert zurück. Hast du "return" vorher in irgendeiner Sprache benutzt? Gibt es in meiner Antwort ein bestimmtes Wort, das du nicht verstehst? Kennen Sie Funktionen und deren Zweck? In Bezug auf Ihre zweite Frage haben Sie recht, dass 'print' und' echo' nicht dazu führen, dass die Funktion beendet wird. Die Ausführung wird in der nächsten Zeile fortgesetzt. –

+0

Ich habe meine Frage aktualisiert, bitte überprüfen Sie und danke für die Antwort. – Kevin

0

Drucken gibt 1 zurück, während echo nichts zurückgibt. Echo kann auch mehrere Argumente annehmen, wie Mark betont.

return (im Kontext einer Funktion) beendet die Funktion (Rückgabe eines Wertes, falls vorhanden). Im globalen Kontext beendet return die Ausführung der Datei, in der sie sich befindet. So können Sie eine Include-Datei retten oder die Ausführung des Hauptscripts auf diese Weise anhalten.

3

return wird verwendet, wenn eine Funktion einen Wert zurückgeben muss.

siehe HERE

echo und print sind sehr ähnlich aber echo schneller ist, da sie keinen Wert zurückgibt.

  1. Geschwindigkeit. Es gibt einen Unterschied zwischen den beiden, aber in Bezug auf die Geschwindigkeit sollte es irrelevant sein, welches du benutzt. echo ist geringfügig schneller, da es keinen Rückgabewert setzt, wenn Sie wirklich zur Sache kommen wollen.

  2. Ausdruck. print() verhält sich wie eine Funktion, indem Sie tun können:

    $ret = print "Hello World"; 
    

    Und $ret wird 1 sein Das bedeutet, dass print kann als Teil eines komplexeren Ausdrucks verwendet werden, wo echo nicht. Ein Beispiel aus dem PHP-Handbuch:

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

    print ist auch einen Teil der Präzedenztabelle, die es braucht, wenn es ist innerhalb eines komplexen Ausdrucks verwendet werden. Es ist nur ungefähr am Ende der Präzedenzliste. Nur "", , OR und XOR sind niedriger.

  3. Parameter (s). Die Grammatik ist: echo expression [, expression[, expression] ... ]. Aber echo (expression, expression) ist nicht gültig. Dies wäre gültig: echo ("howdy"),("partner"); das gleiche wie: echo "howdy","partner"; (Die Klammern in dieses einfache Beispiel zu setzen, hat keinen Zweck, da es keine Vorrangstellung für den Operator mit einem einzigen Begriff wie diesem gibt.

    )

So echo ohne Klammern können mehrere Parameter übernehmen, die verketteten erhalten:

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

print() kann nur ein Parameter übernehmen:

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

Ich dachte, eine gute Formatierung würde auf Ihrer Antwort gut aussehen. ;) – Gumbo