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.