我有一个非常奇怪的问题:在下面列出的代码中,4个echo几乎是相同的,但只有最后一个正常工作(前两个回声只打印加/减的答案,没有文本).
这是代码:
<html>
<body>
Welcome <?PHP echo $_POST["name"]; ?><br>
Your email address is: <?PHP echo $_POST["email"]; ?><br>
<?PHP $sk1 = $_POST["sk1"];
$sk2 = $_POST["sk2"];
$veiksm = $_POST["veiksmas"];
switch($veiksm){
default:
echo "Jus nepasirinkote veiksmo";
break;
case "sud":
echo "Sudeties veiksmo rezultatas: " .$sk1 + $sk2;
break;
case "ati":
echo "Atimties veiksmo rezultatas: " .$sk1 - $sk2;
break;
case "dal":
echo "Dalybos veiksmo rezultatas: " .$sk1 / $sk2;
break;
case "dau":
echo "Daugybos veiksmo rezultatas: " .$sk1 * $sk2;
break;
}
?>
</body>
</html>
解决方法:
您必须在计算周围加上括号,如:
echo "Atimties veiksmo rezultatas: " . ($sk1 - $sk2);
//^ See here ^
否则你可以想象你的echo语句如下:
"Sudeties veiksmo rezultatas: 17" + 5 // Same as 0 + 5, because the string is casted to int which is 0
*和/也可以,因为它们首先得到评估
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。