09 Benutzerdefinierte Funktionen
Last updated
Was this helpful?
Last updated
Was this helpful?
Zusätzlich zu den internen Funktionen, können wir auch eigene Funktionen definieren.
Eine Funktion kann wie folgt definiert werden:
Für die Funktionsnamen gelten die gleichen Regeln wie für .
Einer Funktion können Argumente mitgegeben werden, auf die innerhalb der Funktion zugegriffen werden können.
Einem Argument kann ein Standardwert zugewiesen werden. Somit ist die Eingabe dieses Arguments optional.
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.
Seit PHP 7 können für die Funktionsargumente sowie für den Rückgabewert einer Funktion Typen definiert werden.
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.
global
-SchlüsselwortÜber das global
Schlüsselwort können Variablen aus dem globalen Geltungsbereich in einer Funktion zugänglich gemacht werden.
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.
Erstelle eine benutzerdefinierte Funktion mit folgenden Kriterien:
An die Funktion wird das assoziative Array $car
mit 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 true
oder false
zurü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.)