C.5.5 Rückgabewert
Ergebnisse zurückliefern
Funktionen mit Rückgabewert dienen dazu, ein Ergebnis zu ermitteln und dieses an die aufrufende Stelle zurückzuliefern. Der zurückgelieferte Wert muss entweder in einer Variablen gespeichert oder direkt ausgegeben oder anderweitig festgehalten werden, ansonsten geht er verloren. Ein Beispiel für eine eigene Funktion mit Rückgabewert:
Listing C.18 Datei uc26.php
<html> <head> <?php function add($z1, $z2) { $summe = $z1 + $z2; return $summe; } ?> </head> <body> <?php $c = add(3,4); // aufrufende Stelle echo "Summe: $c<p>";
$x = 5; $c= add($x,12); // aufrufende Stelle echo "Summe: $c<p>";
// aufrufende Stelle innerhalb der Ausgabe echo "Summe: " . add(13,2) . "<p>"; ?> </body> </html>
Die Funktion add() hat die beiden Parameter $z1 und $z2. Innerhalb der Funktion werden diese beiden Parameter addiert und in der Variablen $summe gespeichert.
Wohin zurückliefern?
Mit Hilfe der Anweisung return wird dieser Wert an die aufrufende Stelle zurückgeliefert und kann dort weiter verarbeitet werden. In den ersten beiden Fällen wird der Wert in der Variablen $c gespeichert, im letzten Fall ohne Zwischenspeicherung direkt ausgegeben.
Übung UC27
Schreiben Sie ein Programm (Datei uc27.php), in dem eine Funktion bigger() definiert und aufgerufen wird. Dieser Funktion ermittelt die größere von zwei übergebenen Zahlen und liefert diese Zahl zurück. Testen Sie die Funktion mit mehreren verschiedenen Aufrufen innerhalb des Programmes und geben Sie das Ergebnis zur Kontrolle aus.
Ein Aufruf der Funktion könnte lauten:
$c = bigger(3,4);
Die Ausgabe des Programmes wäre in diesem Falle:
Die größere Zahl ist 4
Übung UC28
Schreiben Sie ein Programm (Datei uc28.php), in dem eine Funktion etikett() definiert und benutzt wird. Diese setzt mehrere Zeichenketten zu einem Adressetikett zusammen und liefert dieses zurück an die aufrufende Stelle. Ein möglicher Aufruf:
$text = etikett("Hans", "Maier", 52756, "Oberwolfach");
Die Ausgabe sieht wie folgt aus:
An Hans Maier 52756 Oberwolfach
Beachten Sie die Zeilenumbrüche. Testen Sie die Funktion mit mehreren verschiedenen Aufrufen innerhalb des Programmes, und geben Sie das Ergebnis zur Kontrolle aus. Es könnte wie folgt aussehen:
Abbildung C.12 Funktion mit Rückgabewert

|