第一次在网站上提问,如果问题不太详细,很抱歉。
我的代码:
<?php
$a = ($_POST['a']);
$b = ($_POST['b']);
$op = ($_POST['c']);
$ans = $a $op $b;
echo $ans;
?>
正如你所看到的,我正在传递数字$a
和$b
,并希望根据传递的$op
对它们做些什么。
我的问题是,我无法以我想要的方式获取变量$op
。理想情况下,如果$op
是"+"
,则与$ans
类似,也与1 + 2
类似。
我猜我的语法有问题。
非常感谢
David
您可以使用switch
语句:
switch ($op) {
case '+':
$ans = $a + $b;
break;
case '-':
$ans = $a - $b;
break;
...
}
不要直接使用$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
}
}