Mailinglisten-Archive |
Hi Andreas,
das geht ganz 'easy' mit eval, also z.B.: eval($term);
Du musst halt nur darauf achten, dass $term praktisch
ein voll funktionsfaehiges Script enthaelt. Natuerlich
ohne '<?php' und '?>' am Anfang und Ende ... ;-)
> $term = '$x*$x-4';
hier fehlt die komplette linke Seite der Befehlszeile
UND das Semikalon am Ende. Mehr als eine Fehlermeldung
wird dabei nicht herauskommen ...
<PRE><?php
$term = '$Y = $X * $X - 4;';
for ($X = -3; $X <= 3; $X += 0.1)
{eval($term);
if ($Y == 0)
{echo 'X = '.$X.' bei Y = '.$Y;
}
}
?></PRE>
DAS laeuft fehlerfrei durch, zeigt aber auch nix an.
WEIL:
Du denkst im Dezimalsystem, PHP rechnet binaer:
<PRE><?php
$term = '$Y = $X * $X - 4;';
$limes = 1 / 1000000;
for ($X = -3; $X <= 3; $X += 0.1)
{eval($term);
if (abs($Y) < $limes)
{echo 'X = '.sprintf('% 5s', number_format($X,1,',','.'));
echo ' bei Y = '.sprintf('% 7s', number_format($Y,3,',','.'));
echo ' = '.sprintf('% 23s', $Y)."\n";
}
}
?></PRE>
Jetzt kommt die Ausgabe wie geplant(gewuenscht).
m. b. G. Norbert
_____________________
normal: 02292-681769
Notruf: 0177-2363368
---------------------
e.o.m.
php::bar PHP Wiki - Listenarchive