如何计算 PHP 中作为字符串传递的公式?
在 PHP 中,您可以使用 eval() 函数来计算字符串: PHP 代码。但是,出于安全原因,不建议使用此功能,因为它可能允许执行恶意代码。更安全的替代方法是使用 create_function() 函数,该函数从字符串创建函数。
以下示例说明如何使用 create_function() 函数计算数学表达式:
<?php $expression = '2 + 2'; $fn = create_function('', "return ($expression);"); $result = $fn(); echo $result; // Output: 4
这将输出表达式的值,即 4。
另一个选择是使用可以安全评估数学表达式的库。其中一个库是 EvalMath 类,可以在 [此链接](http://www.phpclasses.org/browse/package/2695.html) 中找到它。
这里是一个示例,说明如何可以使用 EvalMath 类来计算数学表达式:
<?php include('evalmath.class.php'); $m = new EvalMath; $result = $m->evaluate('2 + 2'); echo $result; // Output: 4
这也会输出表达式的值,即4.
您选择使用哪种方法取决于您的具体需求。如果您需要一个简单易用的解决方案,那么 create_function() 函数是一个不错的选择。但是,如果您需要更强大、更安全的解决方案,那么 EvalMath 类是更好的选择。
以上是如何安全地计算 PHP 中作为字符串传递的数学公式?的详细内容。更多信息请关注PHP中文网其他相关文章!