我正在使用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;)符合逻辑还是完全错误?有其他选择吗?如有任何帮助,我们将不胜感激
不,PHP中没有该功能。
您需要一个switch
语句或某种条件:
switch($calc)
{
case "+":
return $num1 + $num2;
break;
case "-":
return $num1 - $num2;
break;
}
注意:如果在每种情况下都使用return
,那么有人会不可避免地注意到break
表达式并不是严格必要的,但它们在规范中,IDE有时会发现它们不存在。
试试这个
<?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);
?>
请参阅BCMath