在php中使用函数

在php中使用函数,php,Php,我试图让返回值显示,但它只执行最后的else过程。我的if语句有问题。。。我正在使用一个html页面来调用这个php页面。。。当我输入结果时,不管是什么操作,它只显示乘法值 function total($num1, $num2, $op) { if($op == "+"){ $total = "$num1 + $num2 = ".($num1 + $num2); return $total; } elseif($_POST['operation'

我试图让返回值显示,但它只执行最后的else过程。我的if语句有问题。。。我正在使用一个html页面来调用这个php页面。。。当我输入结果时,不管是什么操作,它只显示乘法值

function total($num1, $num2, $op) {
    if($op == "+"){
        $total = "$num1 + $num2 = ".($num1 + $num2);
        return $total;
    } elseif($_POST['operation'] == "-"){
        $total = "$num1 - $num2 = ".($num1 - $num2);
        return $total;
    } elseif($_POST['operation'] == "/"){
        $total = "$num1 / $num2 = ".($num1 / $num2);
        return $total;
    } else{
        $total = "$num1 * $num2 = ".($num1 * $num2);
        return $total;
    }
}

echo total($num1, $num2, $op);

我想你只是忘了用$op,而是用了$U POST

试一试


问题可能是因为您将$op和$u POST['operation']混合在一起。此外,您还担心您的if语句。因为每一个都返回,所以可以在不增加运行时复杂性的情况下大大简化这一过程

function total($num1, $num2, $op) {
  if($op == "+")
    return "$num1 + $num2 = ".($num1 + $num2);
  if($op == "-")
    return "$num1 - $num2 = ".($num1 - $num2);
  if($op == "/")
    return "$num1 / $num2 = ".($num1 / $num2);
  return "$num1 * $num2 = ".($num1 * $num2);
}

给我们一些实际值,让我们一起使用。你先从
$op='+'
开始,然后在PHP函数的其余比较中使用
$\u POST['operation']
来拧毛狗。你在做
if($op=“+”)
然后
elseif($\u POST['operation']=“-”
这不应该是
if($\u POST['operation']==“+”))
?在打开PHP标记后立即将错误报告添加到文件顶部,例如
真的很奇怪。我猜……现在,每个人都在等待判决。
$\u POST
是一个全局的(实际上是一个超全局的)。你要么完全正确,要么完全错误。看到他们同时使用变量和POST数组,那么。。。时间会证明一切。让我们看看OP有什么要说的,在他们问题下的评论中;-)谢谢大家,用$op替换if语句并使用下面的代码返回正确的值。我的先生,你让我度过了一个美好的夜晚!
function total($num1, $num2, $op) {
  if($op == "+")
    return "$num1 + $num2 = ".($num1 + $num2);
  if($op == "-")
    return "$num1 - $num2 = ".($num1 - $num2);
  if($op == "/")
    return "$num1 / $num2 = ".($num1 / $num2);
  return "$num1 * $num2 = ".($num1 * $num2);
}