ChrisB: String addieren

Beitrag lesen

Hi,

eval('$ergebnis = '.$aufgabe.';');

Tatsächlich!

Habe ich kurz davor gedacht, dass das ja Quatsch wäre...
Aber Eval() ist ja auch keine Funktion, sondern ein Parser-Konstrukt.

Was auch immer eine Funktion von einem "Parser-Konstrukt" unterscheidet ...

Der springende Punkt ist einfach, daß $ergebnis in doppelten Anführungszeichen als Variable gewertet wird, und das ist in diesem Fall nicht gewollt.

Auch Tom hatte in seiner Version

$ok = eval('$ergebnis = $aufgabe;');

keine doppelten Anfuehrungszeichen - und die "funzte" trotzdem nicht.

Der Unterschied ist einfach, dass wenn ich eval('$ergebnis = $aufgabe;'); verwende, wird da im String $ausgabe noch nicht durch seinen Inhalt ersetzt - so dass das eval dann nach wie vor den Code $ergebnis = $ausgabe ausfuehrt, d.h. $ergebnis enthaelt danach den gleichen Textinhalt wie $ausgabe.

MfG ChrisB