Home  PHP Projekte  PHP Schulung  Informationsquellen  Geschichte  Core PHP  Einbindung in HTML  Kommentare  Variablen  Konstanten  Operatoren  Funktionen  Fortsetzung  Kontrollstrukturen  Arrays  Objektorientierung  Fortgeschrittenes PHP  Templates  Cache-Technologien  OOH Forms  Technik der Site  Büchertipps  Fotografie  Airbrush  Kontakt  Stuff 
|
Funktionen
Per default haben Funktionen keinen Rückgabewert. Sie können jedoch
jeden beliebigen Wert zurückliefern.
| Rückgabewerte |
Top |
|
<?php
// Funktion mit einem Array als Ergebnis
function getLottonumbers() {
$numbers = array();
// Zufallszahlengenerator mit einem neuen Anfangswert initialisieren
srand ((double) microtime() * 1000000);
// Zufallszahlen erzeugen
for ($i = 0; $i < 6; ++$i)
$numbers[$i] = rand(0, 49);
// "zwei" Werte zurückliefern
return array($numbers, 6);
}
print_r(getLottonumbers());
?>
|
|
Ausgabe
|
Top |
Array
(
[0] => Array
(
[0] => 33
[1] => 8
[2] => 5
[3] => 47
[4] => 44
[5] => 22
)
[1] => 6
)
|
|
|
-
Funktionen können in PHP 4 überall definiert werden (late binding). PHP 3
verlangt die Definierung einer Funktion vor dem Aufruf.
-
Funktionen verfügen über einen eigenen Namensraum, dennoch ist es
möglich mit dem global Statement oder $GLOBALS auf globale Variablen zuzugreifen.
-
Es gibt Lambda-Funktionen in PHP 4, create_function()
kann "on the fly" Funktionen erzeugen.
| Lambda-Funktion |
Top |
|
<?php
// Lamda Funktion
$numbers = array ( 3, 2, 5, 6, 1 );
usort($numbers, create_function( '$a, $b' , 'if ( $a == $b ) return 0; return ( $a < $b ) ? -1 : 1;' ) );
print_r($numbers);
?>
|
|
Ausgabe
|
Top |
Array
(
[0] => 1
[1] => 2
[2] => 3
[3] => 5
[4] => 6
)
|
|
|
Weitere Eigenschaften:
- optionale Parameter wie in C++
- seit PHP 4: variable Anzahl von Parametern erlaubt
- Schachtelungen sind möglich
- es gibt keine überladenen Funktionen
- Sichtbarkeit: global
| Funktionen |
Top |
|
<?php
// optionale Argumente mit Defaults
function showError($msg, $halt_on_error = false) {
print "Warnung: $msg\n";
if ($halt_on_error)
die("Programmausführung unterbrochen.\n");
}
showError("Hello World!");
showError("Goodbye\n", false);
// Funktion mit variabler Anzahl von Argumenten
function variableArguments() {
$anz_arg = func_num_args();
echo "Anzahl der Argumente: $anz_arg\n";
$arg_liste = func_get_args();
for ($i = 0; $i < $anz_arg; $i++)
echo $arg_liste[$i] . "\n";
print "\n";
}
variableArguments("arg1", "arg2", "arg3");
variableArguments("arg1", "arg2");
?>
|
|
Ausgabe
|
Top |
Warnung: Hello World!
Warnung: Goodbye
Anzahl der Argumente: 3
arg1
arg2
arg3
Anzahl der Argumente: 2
arg1
arg2
|
|
|
< ^ >
|