phpbar.de logo

Mailinglisten-Archive

[php] Eval() bei Math. Gleichungen

[php] Eval() bei Math. Gleichungen

Stefan Schwardt php_(at)_phpcenter.de
Sat, 26 Oct 2002 21:08:07 +0200


Moin Andreas Brandl, moin Liste

AB> Mit Eval($term) in der Schleife hab ich’s schon probiert, klappt aber
AB> nicht (ist auch eine etwas seltsame Überlegung).
Nunja, bei eval() sollte es einem immer ein wenig kalt den Rücken
runterlaufen - aber wenn Du den Term partout als String bekommst, sehe
ich eigentlich auch keine andere Möglichkeit - und eval() ist ja
nunmal genau dazu da, dynamisch zur Laufzeit generierten Code zur
Ausführung zu bringen.
Das wird hier auch ohne weiteres funktionieren - Du musst natürlich
den Term um eine Zuweisung erweitern, ein "$x+2" allein bringt Dir
nichts, wenn Du am Ergebis interessiert bist..

Also etwa so (ungetestet):

$term = '$x*$x-4';

for ($x=-5;$x<=5;$x=$x+0.1)
{
    eval('$y='.$term.';');
    if ($y == 0)
    {
       print "Nullstelle gefunden: $x<br>";
    }
}

Du musst natürlich auf jeden Fall sichersetllen, dass die Schranken
und der Term nur das enthalten, was auch vorgesehen ist. Ansonsten
könntest Du Dir natürlich in 10/0.1=100 Schritten auch 100mal das
root-Verzeichnis löschen lassen.


--
Stefan Schwardt.


php::bar PHP Wiki   -   Listenarchive