如何在变量中进行操作计算

时间:2017-06-30 08:24:00

标签: php

如果操作在变量中作为字符串,PHP中是否有一种方法可以计算?像这样:

<?php
    $number1=5;
    $number2=10;
    $operations="+";

    $result = $number1 . $operations . $number2;
?>

2 个答案:

答案 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;
}

In action