Tom: Wann greift eval(), wann werden Variablen ersetzt?

Beitrag lesen

Hello,

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

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.

Das ist genau DIE Frage bei eval(), wann was ersetzt wird und wann die automatische Typumwandlung greift, und wann nicht.

Liebe Grüße

Tom vom Berg

--
Nur selber lernen macht schlau