Du bist hier: Tips » Scripte » PHP
PHP
Referenzliste

eval

Sonstige-Funktionen

    Befehl:
mixed eval ( string $code_str )


    Parameter-Liste:
NameBeschreibung
code_strDie Code-Zeichenkette, die ausgewertet werden soll. code_str muss keine öffnenden PHP-Tags enthalten.

Eine return-Anweisung beendet die Auswertung der Zeichenkette sofort.

    Rückgabewerte:
eval() gibt NULL zurück, ausser wenn im ausgewerteten Code return aufgerufen wird, dann aber wird der an return übergebene Wert zurückgegeben. Falls im ausgewerteten Code ein Parse Error auftritt, gibt eval() FALSE zurück und der weitere Code wird normal ausgeführt. Es ist in eval() nicht möglich, einen Parse Error mittels set_error_handler() abzufangen.

    Beschreibung:
Wertet die in code_str enthaltene Zeichenkette als PHP-Code aus. Abgesehen von anderen Zwecken kann dies nützlich sein, um Code für eine spätere Ausführung im Textfeld einer Datenbank zu speichern.

Beim Gebrauch von eval() gilt es einige Faktoren zu beachten. Die übergebene Zeichenkette muss gültigen PHP-Code enthalten, einschliesslich solcher Dinge wie Anweisungen mit einem Semikolon abzuschliessen, damit der Parser nicht in der Zeile nach dem eval() abbricht, und des richtigen Setzens des Escape-Zeichens in code_str. Um HTML-Ausgabe und PHP-Code zu mischen, können Sie zum Verlassen des PHP-Codes das schliessende PHP-Tag verwenden.

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


    Aktiv in Version:
(PHP 4, PHP 5, PHP 7)

    Hinweis:
Hinweis:

Im Fall eines schweren Fehlers im augewerteten Code wird das komplette Skript beendet.

Da dies ein Sprachkonstrukt und keine Funktion ist, können Sie dieses nicht mit Variablenfunktionen verwenden.

    Tips:
Tips:

Bei allem, dessen Ergebnisausgabe direkt im Browser angezeigt wird, können Sie die Funktionen zur Ausgabesteuerung verwenden. Damit lässt sich die Ausgabe dieser Funktion erfassen, und - zum Beispiel - in einem string speichern.


    Siehe auch:
Aufruf einer benutzerdefinierten Funktion
 

eval() - Beispiel:


Eingabe:
<?php
$string = 'Bierglas';
$name = 'Binding-Lager';
$str = 'Das ist mein $string, voll mit $name.';
echo $str . "\n";
eval ("\$str = \"$str\";");
echo $str . "\n";
?>


Ausgabe:
Das ist mein $string, voll mit $name.
Das ist mein Bierglas, voll mit Binding-Lager.

Beschreibung:
Mit eval() kann man versuchen, den Inhalt eines Strings (code_str) als PHP-Code auszuf�hren. Das ist oftmals sehr n�tzlich, wenn man PHP-Code aus einer Datenbank liest.


Folgende Kriterien m�ssen erf�llt sein:


Der String muss g�ltigen PHP-Code enthalten.
Es m�ssen syntaktisch richtige Begrenzungszeichen (;) enthalten sein (siehe Beispiel bei eval).
Ausserdem sollten Sie beachten, dass die Werte von Variablen, welche in eval() ge�ndert wurden, auch im Hauptskript Bestand haben werden.


Sonstige-Funktionen