:: Anbieterverzeichnis ::
Globale Branchen
Informieren Sie sich über ausgewählte
Unternehmen im
Anbieterverzeichnis von SELFPHP
:: SELFPHP Forum ::
Fragen rund um die Themen PHP? In über
120.000 Beiträgen finden Sie sicher die passende
Antwort!
:: Newsletter ::
Abonnieren Sie hier den kostenlosen
SELFPHP Newsletter!
:: Qozido ::
Die Bilderverwaltung mit Logbuch für
Taucher und Schnorchler.
|
|
Fehlercode als Rückgabewert |
Eine komplexe Funktion sollte nicht nur den üblichen Rückgabewert erzeugen, sondern bei Bedarf auch noch einen Fehlercode. Dieser Fehlercode wird ebenfalls in einer return-Anweisung definiert. Kann die Funktion die erwartete Operation nicht ausführen, soll sie stattdessen den Fehlercode liefern. Der Entwickler ist dann in der Lage, den Rückgabewert in einer if-Abfrage auszuwerten und für die Programmsteuerung zu nutzen. Das folgende Beispiel erfüllt diese Anforderung:
Beispiel
function bruttoberechnen($betrag, $mwst) {
if ($betrag > 0 && $mwst > 0) {
return $betrag + ($betrag * $mwst / 100);
} else {
return -1;
}
}
Die Funktion erwartet die Angabe eines Nettobetrags und der Mehrwertsteuer, daraus wird dann der Bruttobetrag errechnet. Es wird überprüft, ob die Variablen einen Wert größer 0 liefern. Nur wenn das der Fall ist, erfolgen Berechnung und Rückgabe des berechneten Werts. Wenn eine der Variablen nur einen Wert kleiner oder gleich 0 enthält, wird der alternative else-Zweig ausgeführt. Die dort untergebrachte return-Anweisung erzeugt dann den Rückgabewert –1. Diesen Wert verwenden Sie als Fehlercode. Beim Aufruf der Funktion können Sie den Fehlercode berücksichtigen und auswerten.
$resultat = bruttoberechnen (100, 0); // -1
if ($resultat > -1) {
echo $resultat;
} else {
echo "Falsche Argumente!";
}
Hinweis: In den vorangegangenen Beispielen wurde als Rückgabewert für die Anzeige einer Fehlerfunktion immer der Wert –1 verwendet. Sie können natürlich jeden beliebigen Wert dafür vorgeben. Der Wert sollte sich nur deutlich von den normalen Funktionswerten unterscheiden. Viele Funktionen geben bei einem Fehler beispielsweise den Wahrheitswerts false (0) zurück. Bei Stringfunktionen können Sie auch einen Leerstring verwenden.
|
|
|
|
|
|