老师我用switch写结果老师除以的结果
来源:1-15 简易计算器的实现
小西西西西西西
2017-06-22 16:18:13
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>计算器</title>
</head>
<body>
<form class="" action="#" method="post">
num1:<input type="text" name="num1" value="">
<select class="" name="op" >
<option value="+">+</option>
<option value="-">-</option>
<option value="*">*</option>
<option value="/">/</option>
<option value="%">%</option>
</select>
num2:<input type="text" name="num2" value="">
<hr />
<input type="submit" name="act" value="计算">
</form>
<?php
ini_set("display_errors", "Off");
//判断用户是否点击按钮
$act=$_POST['act'];
//接受数据
switch ($act) {
case $num1=$_POST['num1'];
case $num2=$_POST['num2'];
case $op=$_POST['OP'];
//判断num1和num2是否为数值
case 'is_numeric($num1)&&is_numeric($num2)';
break;
case $op=='+';
case $res=$num1+$num2;
break;
case $op=='-';
case $res=$num1-$num2;
break;
case $op=='*';
case $res=$num1*$num2;
break;
case $op=='/';
case $res=$num1/$num2;
break;
default;
echo "运算结果为:<br/>{$num1}{$op}{$num2}={$res}";
}
?>
</body>
</html>
1回答
imooc_澈
2017-06-22
您好,用switch的方式来实现的思路并没有错,但是代码中switch的使用方式出现了问题,这里的switch用于对它后面()里面的值进行判断,如果为真进入函数体,case后面的值应该是switch后面()内的参数可能值的例举,此处正确的逻辑应该为:
1 if判断是否点击了提交按钮
2 在if判断里面接收$_POST数据,判断$num1和$num2是否为数字,如果不是,终止。如果是,往下继续执行switch判断
3 case 例举“+,-,*,/,%”五钟情况,如果是“+”,则执行输出$num1+$num2,是“*”,则执行输出$num1*$num2,依此类推。
相似问题
回答 3
回答 1