:: 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.
|
|
Variable Argumentlisten |
In PHP3 konnten noch keine variablen Argumentlisten verwendet werden. Um diesen Nachteil zu umgehen, wurden Arrays eingesetzt. Sie können die Anzahl der Argumente dann mithilfe von Array-Funktionen bestimmen.
Beispiel
<?php
function formatieren($tag,$argumente) {
$anzahlargs = count($argumente);
for ($i = 0; $i < $anzahlargs; $i++) {
$resultat .= "<".$tag.">".$argumente[$i]."</".$tag.">";
}
return $resultat;
}
$personen = array("Matthias","Caroline","Gülten");
// Ausgabe – Kursiv
echo formatieren ("i",$personen) . "<br>";
// Ausgabe – Unterstrichen
echo formatieren ("u",$personen);
?>
Ausgabe
MatthiasCarolineGülten
MatthiasCarolineGülten
Wie man sieht, besteht der Trick darin, array zu verwenden. Die Anzahl der Argumente kann leicht mit der Funktion count ermittelt werden. Für die Übergabe wird das Array mit der Funktion array aus Einzelwerten erzeugt. Wie viele dies sind, spielt nun keine Rolle mehr.
Seit PHP 4 sind variable Argumentlisten zulässig. Dies wird bei internen Funktionen wie beispielsweise max verwendet. Die Funktion ermittelt den maximalen Wert einer beliebig langen Liste von Argumenten.
Es gibt spezielle Funktionen, mit denen der Parameterblock untersucht werden kann:
- func_num_args – Diese Funktion gibt die Anzahl der Parameter zurück.
- func_get_arg – Hiermit ermitteln Sie einen konkreten Parameter, die Auswahl erfolgt durch eine Nummer.
- func_get_args – Diese Funktion gibt ein Array mit den Parametern zurück.
Beispiele
<?php
function meinefunk() {
$anzahlargs = func_num_args();
echo "Anzahl der Argumente: $anzahlargs";
}
// Ausgabe – Anzahl der Parameter (3)
meinefunk (10, 20, 30);
?>
<?php
function meinefunk() {
$anzahlargs = func_num_args();
echo "Anzahl der Argumente: $anzahlargs<br>";
if ($anzahlargs >= 2) {
echo "Das 2. Argument ist: " . func_get_arg (1);
}
}
// Ausgabe
// Anzahl der Argumente: 3
// Das 2. Argument ist: 20
meinefunk (10, 20, 30);
?>
<?php
function meinefunk() {
$anzahlargs = func_num_args();
$arg_liste = func_get_args();
for ($i = 0; $i < $anzahlargs; $i++) {
echo "Argument $i ist: " . $arg_liste[$i] . "<br>";
}
}
// Ausgabe
// Argument 0 ist: 10
// Argument 1 ist: 20
// Argument 2 ist: 30
meinefunk (10, 20, 30);
?>
|
|
|
|
|
|