Join Up!
104887 members and counting!

 
downloads | documentation | faq | getting help | mailing lists | reporting bugs | php.net sites | links 
search for in the  
previousFunktionenRückgabewertenext
Last updated: Mon, 28 Oct 2002
view the printer friendly version or the printer friendly version with notes or change language to Czech | Spanish

Funktionsparameter

Mit einer Parameterliste kann man Informationen an eine Funktion übergeben. Die Parameterliste ist eine durch Kommas getrennte Liste von Variablen und/oder Konstanten.

PHP unterstützt die Weitergabe von Parametern als Werte (das ist der Standard), als Verweise, und als Vorgabewerte. Die Übergabe einer variablen Anzahl von Parametern wird nur von PHP 4 und höher unterstützt, siehe Variable Parameteranzahl und die Funktionsreferenzen für func_num_args(), func_get_arg() und func_get_args() für weitere Informationen. Durch die Übergabe eines Arrays mit Parametern kann man auch in PHP 3 einen ähnlichen Effekt erreichen:

function rechne_array($eingabe)
{
    echo "$eingabe[0] + $eingabe[1] = ", $eingabe[0]+$eingabe[1];
}

Verweise als Parameter übergeben

Normalerweise werden den Funktionen Werte als Parameter übermittelt. Wenn man den Wert dieses Parameters innerhalb der Funktion ändert, bleibt der Parameter außerhalb der Funktion unverändert. Wollen Sie aber genau das erreichen, dann müssen Sie die Parameter als Verweise (Referenzen) übergeben.

Wenn eine Funktion einen Parameter generell als Verweis behandeln soll, setzt man in der Funktionsdefinition ein kaufmännisches Und (&) vor den Parameternamen:

function fuege_etwas_anderes_an (&$string)
{
    $string .= 'und nun zu etwas anderem.';
}
$str = 'Dies ist ein String, ';
fuege_etwas_anderes_an ($str);
echo $str; // Ausgabe: 'Dies ist ein String, und nun zu etwas anderem.'

Vorgabewerte für Parameter

Eine Funktion kann C++-artige Vorgabewerte für skalare Parameter wie folgt definieren:

function machkaffee ($typ = "Cappucino")
{
    return "Ich mache eine Tasse $typ.\n";
}
echo machkaffee ();
echo machkaffee ("Espresso");

Die Ausgabe von diesem kleinen Skript ist:
Ich mache eine Tasse Cappucino.
Ich mache eine Tasse Espresso.

Der Vorgabewert muss ein konstanter Ausdruck sein, darf also (zum Beispiel) keine Variable oder Element einer Klasse sein.

Bitte beachten Sie, dass alle Vorgabewerte rechts von den Nicht-Vorgabeparametern stehen sollten; - sonst wird es nicht funktionieren. Betrachten Sie folgendes Beispiel:

function mach_joghurt ($typ = "rechtsdrehendes", $geschmack)
{
    return "Mache einen Becher $typ $geschmack-joghurt.\n";
}
 
echo mach_joghurt ("Brombeer");   // arbeitet nicht wie erwartet

Die Ausgabe dieses Beispiels ist::
Warning: Missing argument 2 in call to makeyogurt() in 
/usr/local/etc/httpd/htdocs/php3test/functest.html on line 41
Mache einen Becher Brombeer-joghurt.

Nun vergleichen Sie bitte oberes Beispiel mit folgendem:

function mach_joghurt ($geschmack, $typ = "rechtsdrehendes")
{
    return "Mache einen Becher $typ $geschmack-joghurt.\n";
}
 
echo mach_joghurt ("Brombeer");   // arbeitet wie erwartet.

... und jetzt ist die Ausgabe:
Mache einen Becher rechtsdrehendes Brombeer-Joghurt.

Variable Anzahl von Parametern

PHP 4 unterstützt eine variable Anzahl von Parametern in benutzerdefinierten Funktionen. Das Handling dieser Parameter fällt mittels der Funktionen func_num_args(), func_get_arg() und func_get_args() sehr leicht.

Es ist keine spezielle Syntax erforderlich. Die Parameter können wie gehabt explizit in den Funktionsdeklarationen angegeben werden, und werden sich wie gewohnt verhalten.

User Contributed Notes
Funktionsparameter
add a note about notes
There are no user contributed notes for this page.
previousFunktionenRückgabewertenext
Last updated: Mon, 28 Oct 2002
Copyright © 2001, 2002 The PHP Group
All rights reserved.
This mirror generously provided by: http://phpbuilder.com/
Last updated: Thu Oct 31 18:34:28 2002 EST