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? Quote 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? Quote Link to comment https://forums.phpfreaks.com/topic/292211-evaluating-math-formulas/#findComment-1495599 Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.