SELFPHP

create_function

 Informationsseite

nach unten Befehl
nach unten Version
nach unten Beschreibung
nach unten Beispiel
nach unten Ausgabe

nach unten

Befehl

string create_function (string args, string code)

 

nach oben nach unten

Version

(PHP 4 >= 4.0.1, PHP 5)

 

nach oben nach unten

Beschreibung

Mit create_function() können Sie eine temporäre Funktion erstellen, in der Sie
normalen PHP-Code ausführen lassen können. Der Parameter args enthält die
Parameterliste der temporären Funktion, der Parameter code den Programmcode
(beide als String in einfachen Anführungszeichen). Aus diesen Daten wird eine
temporäre Funktion erstellt, welcher ein eindeutiger Name zugewiesen wird.
Diesen Funktionsnamen gibt create_function() als Ergebnis zurück.
Die Funktion ist sehr empfehlenswert, wenn man dynamisch zur Laufzeit eine
Funktion generieren möchte, etwa weil bestimmte Teile des Codes aus
Benutzereingaben generiert werden müssen.
Im unteren Beispiel wurde mit array_walk() jedes Element des Arrays an die
temporäre (anonyme) Funktion übergeben. Innerhalb der Funktion wurde der Wert
mit der bisherigen Gesamtsumme addiert und mittels der Funktion number_format()
formatiert.

 

nach obennach unten

Beispiel

<?PHP
$array
= array(2120.789,
               
4300,
               
5980.23,
               
6359.00,
               
123.89,
               
1380.3213,
               
2345);
$name = array_walk($array, create_function
    (
'&$c','global $d;$c = "$d + $c  = " . number_format(($d +=  $c),2,",",".");'));

for(
$x=0;$x<count($array);$x++){  
    echo
"Addiere: $array[$x]";
    echo
"\n";
}
?>

 

nach obennach unten

Ausgabe

Berechnung: + 2120.789 = 2.120,79
Berechnung: 2120.789 + 4300 = 6.420,79
Berechnung: 6420.789 + 5980.23 = 12.401,02
Berechnung: 12401.019 + 6359 = 18.760,02
Berechnung: 18760.019 + 123.89 = 18.883,91
Berechnung: 18883.909 + 1380.3213 = 20.264,23
Berechnung: 20264.2303 + 2345 = 22.609,23

 

nach oben
weiter: weiter Seite func_get_arg
zurück: zurück Seite call_user_func_array
 

© 2001, 2002, 2003, 2004, 2005 E-Mail Damir Enseleit, mail@selfphp.de