return
(PHP 4, PHP 5, PHP 7, PHP 8)
return
gibt die Programmsteuerung an das aufrufende
Modul zurück. Die Ausführung wird mit dem Ausdruck fortgesetzt,
der dem Aufruf des aufrufenden Moduls folgt.
Wenn innerhalb einer Funktion aufgerufen, beendet return
augenblicklich die Ausführung der Funktion und übergibt den Parameter
als Rückgabewert der Funktion. return
beendet ebenfalls
die Ausführung von Code innerhalb von eval()
oder einer Datei.
Wenn im globalen Raum aufgerufen, endet die Ausführung des Skripts.
Wenn das aktuelle Skript mit include oder
require eingebunden ist, endet nur die Ausführung
der eingebundenen Datei und der Wert, der an return
übergeben wurde, wird zum Rückgabewert des Aufrufs von
include/require.
Wenn return
im Hauptskript aufgerufen wird,
endet das gesamte Skript. Wenn das aktuelle Skript durch die
Konfigurationsdirektiven auto_prepend_file oder auto_append_file aufgerufen wurde,
wird die Ausführung dieses Skripts beendet.
Für mehr Informationen, siehe die Dokumentation zu Rückgabewerten.
Hinweis:
Weil return
ein Sprachkonstrukt und keine
Funktion ist, sind die Klammern um das Argument nicht erforderlich, und von
deren Verwendung wird abgeraten.
Hinweis:
Wenn kein Parameter übergeben wird, dürfen die Klammern nicht gesetzt
werden und null
wird zurückgegeben. Der Aufruf von
return
mit Klammern aber ohne Parameter verursacht
einen Parse Error.
warhog at warhog dot net ¶18 years ago
for those of you who think that using return in a script is the same as using exit note that: using return just exits the execution of the current script, exit the whole execution.
look at that example:
a.php
<?php
include("b.php");
echo "a";
?>
b.php
<?php
echo "b";
return;
?>
(executing a.php:) will echo "ba".
whereas (b.php modified):
a.php
<?php
include("b.php");
echo "a";
?>
b.php
<?php
echo "b";
exit;
?>
(executing a.php:) will echo "b".
J.D. Grimes ¶10 years ago
Note that because PHP processes the file before running it, any functions defined in an included file will still be available, even if the file is not executed.
Example:
a.php
<?php
include 'b.php';
foo();
?>
b.php
<?php
return;
function foo() {
echo 'foo';
}
?>
Executing a.php will output "foo".