【发布时间】:2018-02-13 16:24:59
【问题描述】:
PHP 相对较新,我第 3 天左右看它。我一直在尝试创建一个简单的 PHP 计算器,它具有加法、减法、乘法和除法。想尝试以此为起点:Simple PHP calculator,但我在让它正常工作时遇到问题。
//HTML代码
<form action="svar_vcalc.php" method="post">
<p>Tall 1:<br/>
<input type="text" id="tall1" name="tall1"></p>
<p>Tall 2:<br/>
<input type="text" id="tall2" name="tall2"></p>
<input type="radio" name="gruppe1" id="plus" value="plus" checked="true">+
<input type="radio" name="gruppe1" id="minus" value="minus">-
<input type="radio" name="gruppe1" id="multi" value="multi">*
<input type="radio" name="gruppe1" id="divisjon" value="divisjon">/
<p></p>
<button type="submit" name="svar" id="svar" value="svar">Kalkuler</button>
</form>
//PHP代码
<?php
$tall1 = $_POST['tall1'];
$tall2 = $_POST['tall2'];
$operator = $_POST["gruppe1"];
switch($operator)
{
case "plus":
echo "Svaret er: " . $tall1 + $tall2;
break;
case "minus":
echo "Svaret er: " . $tall1 - $tall2;
break;
case "multi":
echo "Svaret er: " . $tall1 * $tall2;
break;
case "divisjon":
echo "Svaret er: " . $tall1 / $tall2;
break;
}
?>
现在开始讨论这个问题。似乎前两种情况:“加号”和“减号”忽略了 $tall1,而纯粹只使用了 $tall2。对于这些情况,文本字符串都不显示。另一方面,最后两个案例做了他们应该做的事情并正常显示。
例如。 输入 1 作为 $tall1 和 2 作为 $tall2 将给出以下结果:
- 案例1:2
- 案例2:-2
- 案例 3:Svaret er:2
- 案例 4:Svaret er:0.5
在这一点上,我不知道为什么会发生这种情况,并且想知道是否有其他人有解决方案?我知道使用 if、elseif、else 将是一个可能的解决方案,方法是重新编写代码的 php 端,但我更愿意坚持 switch,case。
【问题讨论】: