Teil von  SELFPHP   Teil von  Praxisbuch  Teil von  Funktionen und Prozeduren
Letztes Update: 16.08.2005 17:53:45


Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

 
* Link führt ins Internet



 

Variable Argumentlisten




In PHP3 konnte noch keine variablen Argumentlisten verwendet werden. Um diesen Nachteil zu umgehen, wurden Arrays eingesetzt. Sie können die Anzahl der Argumente dann mit Hilfe 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 PHP4 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);
?>




 


Vorgabewerte für Parameter
 






© 2001-2005 E-Mail SELFPHP - Damir Enseleit, info@selfphp.deImpressumKontakt
© 2005 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de