PHP实现的简单在线计算器功能示例

yipeiwu_com5年前PHP代码库

本文实例讲述了PHP实现的简单在线计算器功能。分享给大家供大家参考,具体如下:

<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf8">
<title>简单的计算器(www.jb51.net)</title>
</head>
<body>
<?php
//如果用户单击了计算按钮才存在表单变量,才能接收表单数据和对数据进行验证
//以下if语句判断是否将表单中的两个操作数提交到本页面,如果没有则不执行
if(isset($_POST["num1"]) && isset($_POST["num2"])){
if(empty($_POST["num1"])){
//如果第一个第一个操作数为空输出错误信息,并停止计算
echo "<font color='red'>第一个操作数不能为空</font>";
unset($_POST["sub"]);
//取消表单中的提交变量,后面计算判断时将不执行
}
if(empty($_POST["num2"])){
//如果第二个第一个操作数为空输出错误信息,并停止计算
echo "<font color='red'>第二个操作数不能为空</font>";
unset($_POST["sub"]);
//取消表单中的提交变量,后面计算判断时将不执行
}
$oper=$_POST["oper"];
//获取操作符号
$num1=$_POST["num1"];
//获取第一个操作数
$num2=$_POST["num2"];
//获取第二个操作数
if($oper == "/"){
if($num2 == 0){
echo "<font color='red'>0不能作为除数使用</font>";
unset($_POST["sub"]);
}
}
}
?>
<!--以HTML表格的形式输出计算器的用户操作界面-->
<table border="1" align="center" width="400">
<form action="" method="post"> <!--使用POST方法提交给本页面-->
<caption><h2>简单的计算器</h2></caption>
<tr>
<td><input type="text" size="10" name="num1" value="<?php if(!empty($num1)){echo $num1;}?>"></td>
<td>
<select name="oper">
<option value="+" <?php if($oper == "+"){echo "selected";}?>>+</option>
<option value="-" <?php if($oper == "-"){echo "selected";}?>>-</option>
<option value="*" <?php if($oper == "*"){echo "selected";}?>>*</option>
<option value="/" <?php if($oper == "/"){echo "selected";}?>>/</option>
</select>
</td>
<td><input type="text" size="10" name="num2" value="<?php if(!empty($num2)){echo $num2;}?>"></td>
<td><input type="submit" name="sub" value="计算"></td>
</tr>
<?php
/**通过表单传过来的$_POST["sub],判断是否单击了计算按钮
来决定以下计算是否执行以及是否输出计算结果**/
if(isset($_POST["sub"]) && !empty($_POST["sub"])){
$sum = 0; //声明一个存放计算结果的变量,初始值为0
echo $sum;
//使用switch语句,通过表单选择的操作符来决定执行哪种运算
switch($oper){
case "+":
$sum = $num1+$num2;
break;
case "-":
$sum = $num1-$num2;
break;
case "*":
$sum = $num1*$num2;
break;
case "/":
$sum = $num1/$num2;
break;
}
//以下的三行是在表格的新行中输出计算结果
echo "<tr><td colspan='4' align='center'>";
echo "计算结果:$num1 $oper $num2 = $sum";
echo "</td></tr>";
}
?>
</form>
</table>
</body>
</html>

运行结果如下图:

PS:这里再为大家推荐几款计算工具供大家进一步参考借鉴:

在线一元函数(方程)求解计算工具:
http://tools.jb51.net/jisuanqi/equ_jisuanqi

科学计算器在线使用_高级计算器在线计算:
http://tools.jb51.net/jisuanqi/jsqkexue

在线计算器_标准计算器:
http://tools.jb51.net/jisuanqi/jsq

更多关于PHP相关内容感兴趣的读者可查看本站专题:《PHP数学运算技巧总结》、《PHP运算与运算符用法总结》、《php字符串(string)用法总结》、《PHP数组(Array)操作技巧大全》、《PHP常用遍历算法与技巧总结》、《PHP数据结构与算法教程》、《php程序设计算法总结》、《php正则表达式用法总结》及《php常见数据库操作技巧汇总

希望本文所述对大家PHP程序设计有所帮助。

相关文章

汇总PHPmailer群发Gmail的常见问题

大家在PHPmailer群发Gmail时会遇到许多常见问题,下面为大家总结了一些常见问题,希望对大家的学习有所帮助。 1.Could not authenticate 首先,如果你没有使...

PHP单元测试利器 PHPUNIT深入用法(三)第1/2页

PHP单元测试利器 PHPUNIT深入用法(三)第1/2页

在本文中,笔者将为大家介绍phpunit中的两个高级概念和用法,尽管它不一定在你的日常单元测试中都用到,但理解和学会它们的用法对学习phpunit还是十分重要的。   Phpunit中...

PHP的SQL注入过程分析

今天从网上学习了有关SQL注入的基本技能。SQL注入的重点就是构造SQL语句,只有灵活的运用SQL   语句才能构造出牛比的注入字符串。学完之后写了点笔记,已备随时使用。希望你在看下面内...

php 使用expat方式解析xml文件操作示例

本文实例讲述了php 使用expat方式解析xml文件操作。分享给大家供大家参考,具体如下:test.xml:<?xml version="1.0"&n...

比较discuz和ecshop的截取字符串函数php版

下面先给出两个版本函数的源代码以及简单测试,最后我会给出一个实用性更强的字符串截取函数。需要注意的是:这里讨论的字符串截取问题都是针对UTF-8编码的中文字符串。 discuz版本 复制...