我正在使用html和php处理基本的计算器脚本。我们的想法是输入两个数字并选择您想要使用的运算符。
HTML代码
<html>
<head>
<title>Calculator</title>
<meta charset="utf-8" />
<link href="style.css" rel="stylesheet" type="text/css">
</head>
<body>
<div id="wrapper">
<h3>Calculator</h3>
<form action="calc.php" method="get">
<p><input name="num1" type="text" size="8" maxlength="8">
<select name="calc">
<option value="+">+</option>
<option value="-">-</option>
<option value="*">*</option>
<option value="/">/</option>
</select>
<input name="num2" type="text" size="8" maxlength="8"></p>
<p><input type="submit" value="Calculate"></p>
</form>
</div>
</body>
</html>
PHP代码
<html>
<head>
<title>Calculator</title>
<meta charset="utf-8" />
<link href="style2.css" rel="stylesheet" type="text/css">
</head>
<body>
<div id="wrapper">
<?
$num1=$_GET['num1'];
$num2=$_GET['num2'];
$calc=$_GET['calc'];
$result = $num1 $calc $num2;
echo "$result";
?>
</div>
</body>
</html>
这是($ result = $ num1 $ calc $ num2;)逻辑还是完全错误?还有其他选择吗?任何帮助将不胜感激。
答案 0 :(得分:1)
PHP中没有该功能。
您需要switch
声明或某种条件:
switch($calc)
{
case "+":
return $num1 + $num2;
break;
case "-":
return $num1 - $num2;
break;
}
注意:有人会不可避免地注意到,如果您在每个案例中使用break
,return
表达式并非严格必要,但他们在规范和IDE有时会缺席。
答案 1 :(得分:1)
试试这个
<?php
$num1=$_GET['num1']; // get value 1 from your form
$num2=$_GET['num2'];// get value 2 from your form
$calc=$_GET['calc']; // get operator from your form
$operators = array(
'+' => 'bcadd',
'-' => 'bcsub',
'*' => 'bcmul',
'/' => 'bcdiv'
);
echo $operators[$calc]($num1, $num2);
?>
了解详情