09 Benutzerdefinierte Funktionen
Zusätzlich zu den internen Funktionen, können wir auch eigene Funktionen definieren.
Eine Funktion kann wie folgt definiert werden:
function funktionsname($argument1, $argument2) {
echo $argument1 . ' ' . $argument2;
}
// Funktion aufrufen
funktionsname('Hallo', 'Welt');
// Hallo WeltFür die Funktionsnamen gelten die gleichen Regeln wie für Variablennamen.
Einer Funktion können Argumente mitgegeben werden, auf die innerhalb der Funktion zugegriffen werden können.
Optionale Argumente
Einem Argument kann ein Standardwert zugewiesen werden. Somit ist die Eingabe dieses Arguments optional.
function sagwas($wort1, $wort2 = 'Welt') {
echo $wort1 . ' ' . $wort2;
}
sagwas('Hallo');Rückgabewerte
Eine Funktion kann über das return Konstrukt einen Wert zurückgeben.
Ein return beendet die Ausführung der Funktion. Code, der nach einem return steht wird nicht ausgeführt.
Type-Hints
Seit PHP 7 können für die Funktionsargumente sowie für den Rückgabewert einer Funktion Typen definiert werden.
Geltungsbereich von Variablen
Der Geltungsbereich einer Variablen ergibt sich aus dem Zusammenhang, in dem sie definiert wurde. Anders ausgedrückt: Globale Variablen sind in Funktionen nicht zugänglich. Variablen die in Funktionen definiert wurden, sind ausserhalb der Funktion nicht zugänglich.
Das global-Schlüsselwort
global-SchlüsselwortÜber das global Schlüsselwort können Variablen aus dem globalen Geltungsbereich in einer Funktion zugänglich gemacht werden.
Aufgabe: Benutzerdefinierte Funktion mit Wert
Erstelle eine Funktion dumpAndDie, welche einen $wert ausgibt und die Script-Ausführung beendet (var_dump($wert); die();).
Lagere die Funktion in eine separate Datei functions.php aus und binde diese in die Datei index.php ein. Teste die Funktionsweise indem du das Array $vehicles an die Funktion übergibst.
Aufgabe: Benutzerdefinierte Funktion mit Array
Erstelle eine benutzerdefinierte Funktion mit folgenden Kriterien:
An die Funktion wird das assoziative Array
$carmit den Attributen Marke, Farbe und Jahrgang übergeben.Die Funktion überprüft, ob das Auto ein Oldtimer ist.
Oldtimer sind Autos, welche vor dem Jahr 1990 gebaut wurden.
Die Funktion gibt je nach Prüfergebnis ein
trueoderfalsezurück.War das Prüfergebnis positiv, wird folgender String ausgegeben: "Beim Renault handelt es sich um einen Oldtimer."
War das Prüfergebnis negativ, wird folgender String ausgegeben: "Beim Renault handelt es sich um keinen Oldtimer."
(Die Ausgaben können provisorisch in der Datei index.php ausgeführt werden und müssen nicht an die HTML-Datei übergeben werden.)
Last updated
Was this helpful?