【问题标题】:how to find operator in sting and calculate as per my formula? [closed]如何在字符串中查找运算符并根据我的公式计算? [关闭]
【发布时间】:2019-09-02 12:53:56
【问题描述】:

我的数据库中有字符串格式的公式。我只想按传递成本值计算。

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

【问题讨论】:

  • 为什么需要替换字符串??您可以通过$formula = {{cost}}'.'* 1.5 + 3'; 计算
  • 因为这个公式存储在我的数据库中
  • 答案会因$cost 的来源而异。如果它是用户提供的输入,则需要更多的努力来评估表达式。 (虽然在这里通过类型转换加入白名单可能就足够了)。
  • @Jörg W Mittag ,yivi ,Al Foиce 我真的不明白你标记为不清楚。正如您所看到的,一位开发人员提供了完美的解决方案并且对该解决方案感到满意。你标记为不清楚的问题真的很奇怪。

标签: php operators calculation


【解决方案1】:

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

echo eval('return '.$formula.';');

请记住,当您无法控制字符串参数时,使用eval 函数非常危险。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-09-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-05-30
    相关资源
    最近更新 更多