第一次在网站上询问如果问题不是太详细就很抱歉。
我的代码:
<?php
$a = ($_POST['a']);
$b = ($_POST['b']);
$op = ($_POST['c']);
$ans = $a $op $b;
echo $ans;
?>
正如您所看到的那样,我传递了数字$a
和$b
,并希望根据传递的$op
对其进行操作。
我的问题是我无法以我想要的方式获得变量$op
。理想情况下,$op
"+"
ID与$ans
类似1 + 2
。
我猜测我的语法有问题。
非常感谢
大卫
答案 0 :(得分:2)
您可以使用switch
声明:
switch ($op) {
case '+':
$ans = $a + $b;
break;
case '-':
$ans = $a - $b;
break;
...
}
答案 1 :(得分:0)
而不是直接使用$ op,形成一个切换片段,因为它是一般的。 此外,$ op是一个字符串。现在你可以做的是
switch($op){
case "+":
// calculations
break;
case "-":
// calculations
break;
}
更一般
$operator_fake=array("+","-","*","/");
for($i=0;$i<count($operator_fake);$i++)
{
if($op==$operator_fake)
{
//apply switch fragment
}
}