Homepage-Webhilfe Event-Banner

Funktionen

Funktionen sind dazu gedacht, Programmcode auszulagern und um diesen später mehrmals verwenden zu können. Wie Funktionen aufgerufen werden, haben Sie bereits am Anfang dieses Tutorials kennengelernt. Zur Erinnerung: Sie notieren den Namen der Funktion gefolgt von einem runden Klammernpaar. Innerhalb des Klammernpaars können nun mehrere Parameter durch Komma getrennt an die Funktion übergeben werden. Gibt die Funktion einen Wert zurück, so können wir den Rückgabewert der Funktion z. B. in einer Variablen speichern oder diesen einer anderen Funktion übergeben.

In diesem Thema wollen wir uns damit beschäftigen, wie Sie eigene Funktionen definieren können. Der Aufruf von selbst definierten Funktionen unterscheidet sich nicht vom Aufruf der im PHP-Interpreter integrierten Funktionen. Um eine Funktion zu definieren, notieren wir das Schlüsselwort function gefolgt von dem Funktionsnamen (dieser muss innerhalb des aktuellen Objekts eindeutig sein, dazu später mehr) und einem runden Klammernpaar. Nun folgt ein Block aus geschweiften Klammern. Innerhalb des Blocks können Sie nun den Programmcode angeben, welcher ausgeführt werden soll, wenn die Funktion aufgerufen wird.

<?php
function gebeHalloAus()
{
	echo 'Hallo Welt!';
}

gebeHalloAus();
?>
Vorschau

Wichtig: Wenn Sie innerhalb der Funktion Variablen deklarieren, sind diese nur innerhalb der Funktion zugänglich. Ein Zugriff von außerhalb der Funktion ist nicht möglich, da die Variable sich in einem anderen Scope (Geltungsbereich) befindet. Wenn Sie außerhalb der Funktion eine Variable (auch als globale Variable bezeichnet) definiert haben, können Sie auf diese von der Funktion auch nur über einen kleinen „Umweg“ zugreifen. Hierfür existieren zwei Möglichkeiten: Wenn Sie z. B. auf die globale Variable $meinName zugreifen möchten, geben Sie innerhalb Ihrer Funktion den Variablennamen $GLOBALS an. Bei $GLOBALS handelt es sich um ein assoziatives Array, welches alle globale Variablen enthält. Ein Zugriff auf die globale Variable $meinName wäre also über $GLOBALS['meinName'] innerhalb der Funktion möglich. Als zweite Möglichkeit können Sie innerhalb Ihrer Funktion (am besten am Anfang der Funktion) die Anweisung global gefolgt von dem Variablennamen angeben (z. B. global $meinName;). Globale Variablen existieren nur außerhalb von Objekten. Ist Ihre Variable Teil eines Objekts (dazu später mehr), sieht der Zugriff auf die Objektvariable nochmals anders aus. Damit beschäftigen wir uns jedoch erst im Thema Objektorientierung.


Natürlich können Sie auch Funktionen mit Parametern definieren. Hierfür geben Sie innerhalb der Klammern die Namen der Parameter an. Die Parameternamen dienen zum Zugriff auf die Parameterwerte innerhalb der Funktion. Die Parameternamen müssen so wie Variablennamen auch, eindeutig sein. Des Weiteren dürfen sich die Parameternamen nicht mit den Variablennamen innerhalb der Funktion (den sogenannten lokalen Variablen) überschneiden. In PHP können Sie Parameter auch als optional markieren. Hierfür müssen Sie dem Parameter, welcher optional sein soll, einen Standardwert zuweisen. Dies können Sie mit Hilfe des Zuweisungsoperators innerhalb der Funktionsdeklaration durchführen. Das folgende Beispiel zeigt eine Funktion mit einem Parameter, welcher optional ist.

<?php
function gebeNamenAus($name = 'Peter')
{
	echo 'Hallo '.$name.'!<br />';
}

gebeNamenAus('Michael');
gebeNamenAus();
gebeNamenAus('Anna');
?>
Vorschau

Wichtig: Die optionalen Parameter müssen sich immer am Ende befinden. Stellen Sie sich vor, Sie haben eine Funktion mit den Parametern a, b, c, d und e. Die Parameter d und e sind optional. Sie können diese Funktion nun auf drei verschiedene Arten aufrufen: mit den Parametern a, b und c, mit den Parametern a, b, c und d oder mit den Parametern a, b, c, d und e. Das Auslassen eines optionalen Parameters in der Mitte ist nicht möglich. Ein Aufruf mit den Parametern a, b, c und e ist also nicht möglich.


Um von einer Funktion aus einen Wert zurückzugeben, verwenden Sie das Schlüsselwort return, gefolgt von dem zurückzugebenden Wert und einem Semikolon am Ende. Durch das Ausführen der return-Anweisung wird die Funktions-Ausführung beendet. Bei einer Funktion, welche keinen Wert zurückgibt, können Sie die Anweisung return; also auch einfach nur dazu verwenden, um aus der Funktion herauszuspringen.

<?php
function addiere($a, $b)
{
	return $a + $b;
}

echo addiere(3, 5);
?>
Vorschau
Um unsere Webseite für Sie optimal zu gestalten und fortlaufend verbessern zu können, verwenden wir Cookies. Durch die weitere Nutzung der Webseite stimmen Sie der Verwendung von Cookies zu. Weitere Informationen OK