Php 如何在sting中找到运算符并按照我的公式计算?

Php 如何在sting中找到运算符并按照我的公式计算?,php,operators,calculation,Php,Operators,Calculation,我的数据库中存储了字符串格式的公式。我只想计算旁路成本值 $cost = 5; $formula = '{{cost}} * 1.5 + 3'; $formula = str_replace('{{cost}}', $cost, $formula); 您可以在代码行之后使用eval echo eval('return '.$formula.';'); 请记住,当无法控制字符串参数时,使用eval函数是非常危险的 为什么需要更换字符串??您可以通过$formula={{cost}}.'*1.5

我的数据库中存储了字符串格式的公式。我只想计算旁路成本值

$cost = 5;
$formula = '{{cost}} * 1.5 + 3';
$formula = str_replace('{{cost}}', $cost, $formula);

您可以在代码行之后使用
eval

echo eval('return '.$formula.';');
请记住,当无法控制字符串参数时,使用
eval
函数是非常危险的


为什么需要更换字符串??您可以通过
$formula={{cost}}.'*1.5+3'进行计算
因为此公式存储在我的答案中会因
$cost
的来源而异。如果是用户提供的输入,则需要更多的工作来计算表达式。(虽然在这里通过排版将其列入白名单可能就足够了。)@Jörg W Mittag,yivi,Al Foаce我真的不明白你标记为不清楚。正如您所见,一位开发人员提供了完美的解决方案,并对该解决方案感到满意。这真的很奇怪,你标记为不清楚的问题。