suche nach in der

require> <declare
Last updated: Sat, 07 Jan 2012

view this page in

return

(PHP 4, PHP5)

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 optional. Es ist üblich, sie auszulassen, und dies wird ausdrücklich empfohlen, weil PHP in diesem Fall weniger zu tun hat.

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.

Hinweis: Das Zurückgeben von Referenzen funktioniert nicht, wenn Klammern um den Parameter verwendet werden. Bei return ($a); wird nicht die Variable $a sondern das Ergebnis des Ausdrucks ($a) zurückgegeben (was selbstverständlich der Wert von $a ist).



add a note add a note User Contributed Notes
return
warhog at warhog dot net
18-Dec-2005 09:28
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".
mike at uwmike dot com
06-Dec-2005 06:25
If you have a class file that's getting out of control, you can set it up like so:

<?php
class myClass {
  function
do_this($a, $b) { return require(myClass_do_this.php); }
  function
do_that($a, $b, $c) { return require(myClass_do_that.php); }
}
?>

Might not be for everyone, but it's workable, readable, and keeps the source files shorter.

require> <declare
Last updated: Sat, 07 Jan 2012