Auch PHP bietet die Möglichkeit Funktionen so zu definieren, dass Parameterwerte mit Standardwerten vorbelegt werden wenn diese beim Aufruf der Funktion nicht angegeben werden. Dies läßt sich bei der Definition von benutzerdefinierten Funktionen über den Funktionskopf festlegen. Der für einen bestimmten Parameter vorgesehene Default-Wert wird in der Parameterliste durch Zuweisung eines Wertes zur Parametervariablen kenntlich gemacht. Dabei ist grundsätzlich nur die Angabe von konstanten Werten – entweder als Wert (z.B. ein String, ein Array oder ein Zahlenwert) oder in Form einer per define definierten Konstanten – erlaubt. Nicht erlaubt ist dagegen die Angabe von Variablen. Ruft man die Funktion ohne Angabe des entsprechenden Parameters auf, so wird die Parametervariable mit dem im Kopf der Funktion angegebenen Wert vorbelegt. Wird der Parameter hingegen beim Aufruf an die Funktion übergeben, so erfolgt diese Vorbelegung nicht – der angegebene Parameterwert wird dann bei der Abarbeitung des Codes genutzt.
Bitte beachten Sie, dass Default-Paramter grundsätzlich am Ende der Parameterliste stehen müssen. Alle Parameter, die einen Default-Wert nutzen sollen, stehen also in Folge bis zum Ende der durch die Funktion genutzten Parameter. Auch eine Unterbrechung von Default-Parametern durch Parameter ohne Default-Angabe ist zu vermeiden, da beim Aufruf fehlende Parameter ohne Default-Angabe durch eine entsprechende Fehlermeldung quittiert wird. Das Problem an solchen Fehlern ist, dass sie nicht auffallen, wenn die Funktion mit allen Parametern aufgerufen wird.
<?php // Funktion mit Default-Parametern // Die ersten beiden Parameter müssen angeben werden, während // der dritte und vierte Parameter mit Standardwerten gefüllt // werden, wenn diese beim Aufruf der Funktion nicht angegeben // wurden. Hier werden ein String und eine Zahl als Defaultwerte // genutzt. function produktinfo ($produkt, $preis, $farbe = 'weiss', $anzahl = 6) { // Ausgabe der Parameterwerte echo 'Produkt: ' . $produkt . '<br>' . 'Preis: ' . $preis . '<br>' . 'Farbe: ' . $farbe . '<br>' . 'Anzahl: ' . $anzahl . '<br>'; } // Aufruf mit den beiden Pflichtparametern produktinfo ('Teller', 45); // Erster optionaler Parameter produktinfo ('Tassen', 39, 'rot'); // Komplette Parameterliste produktinfo ('Suppenteller', 110, 'blau', 12); // Definition einer Konstanten zur späteren Verwendung im Script-Code define ('F', 42); // Array und eine bereits definierte Konstante als Default-Parameter function x ($f = F, $optionen = array (42 => 'Sinn des Ganzen', 0 => 'keine Ahnung')) { return $optionen[$f]; } // Aufruf ohne Parameter echo 'x() = ' . x () . '<br>'; ?>
Produkt: Teller
Preis: 45
Farbe: weiss
Anzahl: 6
Produkt: Tassen
Preis: 39
Farbe: rot
Anzahl: 6
Produkt: Suppenteller
Preis: 110
Farbe: blau
Anzahl: 12
x() = Sinn des Ganzen
¬ Menu
¬ Gratis Download
¬ Tutorials
¬ Seminare
¬ Yoga
¬ Insolvenzrecht
¬ News
15.08.2008Schleifen in PHP: Die While-Schleife » mehr 13.08.2008Nutzung von Variablen unter PHP: Definition, Sichtbarkeit und vordefinierte Variablen » mehr 11.08.2008Ausgabe von Datum und Zeit mit PHP nach Konvertierung in ein String » mehr Eine vollständige News-Liste ist auf der News-Seite zugänglich.
¬ Foren
¬ Buchtipp
PHP 5.3 & MySQL 5.1, m. DVD-ROM
Weitere PHP Bücher finden Sie unter PHP Literatur