Alex_ Posted November 1, 2014 Share Posted November 1, 2014 Hey. So imagine this example... class FormulaEvaluator { ...... //Construct & variables here.. public function exec() { //Missing some lines here, but you get the idea $formula = $this->formula; $context = (array) $this; ob_start(); $res = eval('return ' . $formula . ';'); } } $formulaEvaluator = new FormulaEvaluator(); $formula = '10 * (($Test * 2) + ($Test2 / 3))'; $formulaEvaluator->formula = $formula; $formulaEvaluator->Test = 20000; $formulaEvaluator->Test2 = 300000; $res = $formulaEvaluator->exec(); echo $res; //1400000 The code we have is working as intended, but we want to avoid using eval. I know it's a pretty common question, and the answer is usually the same, but is there any way to do something similar without using eval? Link to comment https://forums.phpfreaks.com/topic/292211-evaluating-math-formulas/ Share on other sites More sharing options...
Barand Posted November 3, 2014 Share Posted November 3, 2014 Have you considered something like the calc() function in the second user note at http://php.net/manual/en/function.eval.php? Link to comment https://forums.phpfreaks.com/topic/292211-evaluating-math-formulas/#findComment-1495599 Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.