2009-05-21 11 views
5

in PHP Gibt die() etwas zurück, wenn wir es benutzen?was PHP (0) zurückgibt

+0

In welcher Sprache? – kquinn

+0

Ich vermute, PHP, da es diese Funktion hat, die ein Alias ​​für exit() ist. Ich vermute auch, dass es nichts zurückgeben wird, da es das Skript beendet, aber da ich kein PHP-Programmierer bin, füge ich nur diesen Kommentar hinzu. –

+2

es gibt nichts zurück. Aber selbst wenn es etwas zurückgibt, kann dieses etwas immer noch nicht umsonst verwendet werden, da das Skript aufhört. – andyk

Antwort

22

In PHP beendet die Funktion Die() einfach das Skript und gibt das Argument aus (falls es welche gibt).

http://php.net/die

+4

Das ist nicht ganz genau.Wenn die Funktion mit einem Integer-Argument aufgerufen wird, gibt dies den Wert zurück. In einem Web-Kontext mag das nicht viel bedeuten. In einem CLI-PHP-Skript ist dieser Rückgabewert sinnvoll; Es ist verfügbar für den Einsatz in der Shell. –

10

Warum Sie nicht über einen Blick auf die wunderbare Dokumentation von PHP? Es enthält sogar Informationen über die()

+7

Armer Kerl. Er müsste * erneut * klicken, um zu sehen, was exit() zurückgibt. Spoiler: Die Antwort ist ungültig – Stephan202

+0

Ich habe das überprüft, wollte aber trotzdem diese Frage hier stellen, da ich nicht sehr sicher war, dass alles, was ich gelesen habe, wahr ist. – developer

+2

Die PHP-Dokumente sind * der * Ort, um solche Dinge zu sehen. Nichts kann wahrer sein als die Informationen dort, außer es ist ein Dokumentationsfehler (aber wenn Sie * das * sein wollen, überprüfen Sie besser das Fehlerverfolgungssystem von PHP und/oder führen Sie einen Testcode aus). Übrigens: Da die Ausführung von PHP beendet wird, ist es völlig irrelevant, was der Rückgabewert ist (da das Programm an diesem Punkt aufhört). – soulmerge

1

Es wird nicht zurückgegeben. Das Skript wird beendet und nichts anderes wird ausgeführt.

1

Es gibt keinen Grund, etwas in dem/Ausgang zurückzukehren. Diese Funktion beendet den PHP-Interpreter-Prozess im Inneren und gibt den Exit-Code an die Shell zurück. Nach dem Aufruf von Die() gibt es also keine Skriptausführung, solange kein Interpreterprozess das Skript ausführt, und deshalb gibt es keine Möglichkeit, die Rückgabe von Funktionen zu behandeln.

8

Offensichtlich geben die() oder das entsprechende exit() nichts an das Skript selbst zurück; um genau zu sein, wird dieser Code nicht viel Sinn machen:

if (die())) { 
    echo 'are we dead yet?'; 
} 

jedoch je nachdem, was passiert man als (optional) Argument von die() oder exit(), es tut Rückkehr etwas an den Anrufer, dh die Befehl, der das Ausführen des Skripts verursacht hat. Seine praktische Verwendung ist normalerweise auf das SAPI cli beschränkt, wenn Sie das Skript über eine Befehlszeile mit php /path/to/script.php aufrufen.

beachten:

die('goodbye cruel world'); 

Dieser Code würde goodbye cruel world drucken und dann eine exit status code von 0 zurückzukehren, an den Anrufer signalisiert, dass der Prozess normal beendet.

Ein weiteres Beispiel:

die(1); 

Wenn Sie einen Integer-Wert anstelle eines String, nichts gedruckt wird und der Exit-Status-Code wird 1 sein, signalisiert dem Anrufer, dass der Prozess nicht normal beendet hat.

Schließlich die() ohne Argumente ist das gleiche wie die(0).

Der Beendigungsstatus eines Prozesses kann geändert werden, um verschiedene Arten von Fehlern zu signalisieren, die aufgetreten sein können, z. 1 bedeutet allgemeiner Fehler, 2 bedeutet ungültiger Benutzername usw.