Mailinglisten-Archive |
> > mein php script bekommt in einem einfachen Fall z. B. sowas: > > > > f(x) = m * x + b > > > > Hat da einer ne Idee wie ich das angehen könnte, bevor ich mich in > > tausend if() stürze... > > Ifs werden in dem Fall schwierig werden. :) > Einen mathematischen Parser programmiert in der Regel so, daß der Ausdruck > aufgesplittet und in Postfixes umgewandelt wird. Dann eignet sich ein Baum > für die Repräsentation gut; ein Ausdruck wie x = a + b * c kann dann so > aussehen: > [...] Als Querdenker hab ich einen anderen Ansatz: da PHP ja direkt interpretiert und nicht vorkompiliert, ist es möglich, die Eingabefunktion einfach in einen Source zu übersetzen und die ganze Berechnung etc von PHP machen zu lassen. Sprich, aus f(x) = m * x + b mach function my_func($x) { return ( $m * $x + $b ); } So in der Art zumindest. Danach ein include() oder eval() auf dieses Snippet und schon hat man das Problem umgangen. Es sollte möglich sein, eine Regex oder einen einfachen Translator dafür aufzustellen, besser als die Baumlösung. Till
php::bar PHP Wiki - Listenarchive