eval

eval -- Wertet einen String aus, als wäre er PHP-Code

Beschreibung:

mixed eval ( string code_str)

eval( ) versucht , den in code_str enthaltenen String als PHP-Code auszuführen . Abgesehen von anderen Zwecken kann dies nützlich sein , um Code auszuführen , der aus einer Datenbank ausgelesen wird .

Beim Gebrauch von eval( ) gilt es einige Faktoren zu beachten . Die Zeichenkette code_str muss gültigen PHP-Code enthalten , einschließlich syntaktisch richtiger Begrenzungszeichen ( also incl . " ; "-Abschluss-Zeichen für einzelne Anweisungen , sonst bricht der PHP-Parser in der folgenden Zeile mit einem Fehler ab .

Beachten sie , dass die innerhalb von eval( ) vorgenommenen Variablen-Zuweisungen nach Abarbeitung auch im Hauptskript ihre Gültigkeit behalten .

Eine return -Angabe beendet sofort die Auswertung des Strings . Mit PHP4 können sie ein return verwenden , um das Ergebnis der Funktion eval( ) zu erhalten . In PHP3 ist eval( ) nämlich vom Typ void und liefert nichts zurück .

Beispiel 1 . eval( ) -Beispiel (einfache Texteinfügung ) :

 
?php

 
$string

 
=

 
'

 
Bierglas'

 
;

 
$name

 
=

 
'Binding-Lager'

 
;

 
$str

 
=

 
'Das

 
ist

 
mein

 
$string

 
,

 
voll

 
mit

 
$name

 
.

 
br

 
'

 
;

 
echo

 
$str

 
;

 
eval

 
("\$str

 
=

 
\"$str\"

 
;")

 
;

 
echo

 
$str

 
;

 
?





Das obige Beispiel gibt aus :

 
Das

 
ist

 
mein

 
$string

 
,

 
voll

 
mit

 
$name

 
.




 
Das

 
ist

 
mein

 
Bierglas

 
,

 
voll

 
mit

 
Binding-Lager

 
.





Beachten sie bitte das Setzen des Begrenzungs-Zeichens " ; " in code_str sowie den Gebrauch des "\ "-Zeichens .