:: 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.
|
|
Funktionsargumente |
Die Übergabe von Argumenten an die Funktion, die dann dort Parametern entsprechen, kann auf unterschiedliche Art und Weise erfolgen. Im einfachsten Fall geben Sie Variablennamen an:
function schreiben($spruch, $vorname) {
echo "$spruch, $vorname";
}
Der Aufruf der Funktion kann nun erfolgen, indem Werte eingesetzt werden:
schreiben("Herzlich Willkommen", "Caroline");
Der Rückgabewert interessiert hier nicht, also wird auch kein return benötigt. Beim Aufruf können natürlich auch Variablen eingesetzt werden. Das folgende Beispiel entspricht der ersten Variante:
$vorname = "Caroline";
$spruch = "Herzlich Willkommen";
function schreiben($spruch, $vorname) {
echo "$spruch, $vorname";
}
schreiben($spruch, $vorname);
Lokale und globale Variablen
Die Variablennamen können gleich sein, da Variablen innerhalb einer Funktion lokal sind und nicht im Konflikt mit den globalen Variablen stehen.
Beispiel
<?php
function schreiben($spruch, $vorname) {
echo "$spruch, $vorname <br>";
$spruch = "Neuer Spruch";
$vorname = "Neuer Name";
}
$vorname = "Caroline";
$spruch = "Herzlich Willkommen";
schreiben($spruch, $vorname);
schreiben($spruch, $vorname);
?>
Ausgabe
Herzlich Willkommen, Caroline
Herzlich Willkommen, Caroline
Übergabe per Referenz
Die Veränderung der übergebenen Variablen kann aber manchmal erwünscht sein. So könnte eine Funktion sämtliche übergebenen Werte in $inhalt kursiv schreiben, beispielsweise für Zitate.
<?php
function schreibeZitat(&$inhalt) {
$inhalt = "<i>$inhalt</i>";
}
$spruch = "Hallo Welt!";
echo "$spruch<br>";
schreibeZitat($spruch);
echo $spruch;
?>
Ausgabe
Hallo Welt!
Hallo Welt!
Der Name der Variablen spielt keine Rolle. Entscheidend ist die Kennzeichnung der Argumente mit &. In diesem Fall wird der globalen Variablen der neue Wert zugewiesen. Diese Vorgehensweise wird als Parameterübergabe durch Referenz bezeichnet (by reference). Der normale Weg ist die Übergabe von Werten (by value), Änderungen wirken sich dann nicht auf die Quelle aus.
|
|
|
|
|
|