如果操作在变量中作为字符串,PHP中是否有一种方法可以计算?像这样:
<?php
$number1=5;
$number2=10;
$operations="+";
$result = $number1 . $operations . $number2;
?>
答案 0 :(得分:2)
使用eval()
。
注意:避免使用eval()这是不安全的。它潜在的不安全。
<?php
$number1=5;
$number2=10;
$operations="+";
$result= $number1.$operations.$number2;
echo eval("echo $result;");
输出
15
演示:Click Here
答案 1 :(得分:2)
假设您提供的代码是伪代码......
鉴于您可以使用一组有限的操作,您可以使用switch case。
如果您正在使用用户输入,则使用eval()
可能是一个安全问题...
开关案例示例如下:
<?php
$operations = [
'+' => "add",
'-' => "subtract"
];
// The numbers
$n1 = 6;
$n2 = 3;
// Your operation
$op = "+";
switch($operations[$op]) {
case "add":
// add the nos
echo $n1 + $n2;
break;
case "subtract":
// subtract the nos
echo $n1 - $n2;
break;
default:
// we can't handle other operators
throw new RuntimeException();
break;
}