【发布时间】:2021-04-08 14:58:11
【问题描述】:
我正在用 php 编程,我有以下变量:
$计算 = '15-12';
有没有可以将字符串转换成计算的函数?
【问题讨论】:
-
你有
eval,但是be careful around using it。
标签: php laravel string calculation
我正在用 php 编程,我有以下变量:
$计算 = '15-12';
有没有可以将字符串转换成计算的函数?
【问题讨论】:
eval,但是be careful around using it。
标签: php laravel string calculation
是的,您可以在这种情况下使用eval 表达式,但不是recommended(@El_Vanja 提到)。最好将值转换为正确的类型并进行计算。
eval场景$calculation = '15-12';
$result = eval('return '.$calculation.';');
print $result; // output will be 3
$calculation = '15-12';
$values = explode('-', $calculation);
$result = intval($values[0]) - intval($values[1]);
print $result;
【讨论】:
eval() 函数可以在这里使用:
$calculation = '15-12';
$result = eval('return '.$calculation.';');
echo $result; //outputs '3'
【讨论】:
你可以使用eval()https://www.php.net/manual/en/function.eval
注意这个函数像PHP代码一样执行字符串,如果它包含特定的数学表达式,它将失败。在这种情况下,您需要自己解析字符串并进行计算或使用外部库。
【讨论】:
@aspirinemaga 的铸造解决方案是我会采用的方法。
如果它并不总是减法(并且您想避免使用 eval()),那么您可以始终使用 strpos 来确定它是否是加法/减法/乘法,然后将表达式传递给获取计算结果的 switch 语句。
【讨论】: