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