设计一个计算的功能,该功能能够完成运算并且能够对不合理的数据进行验证并且给出错误提示.

规则: 第一个数,第二个数不能够为空

如果操作符是/,第二个数数不能够为0.

 <?php
header('Content-Type:text/html; charset=utf-8');
/*设计一个计算的功能,该功能能够完成运算并且能够对不合理的数据进行验证并且给出错误提示.
规则: 第一个数,第二个数不能够为空
如果操作符是/,第二个数数不能够为0.*/ function jsq($num1,$oper,$num2){
//检测数据不能为空并提示
if(!isset($num1) || !is_numeric($num1)){
$error = <<<ERROR
<script>
alert('第一个数不合法');
</script>
ERROR;
return $error;
}
if(!isset($num2) || !is_numeric($num2)){
$error = <<<ERROR
<script>
alert('第二个数不合法');
</script>
ERROR;
return $error;
} if($oper == "+"){
$result = $num1 + $num2;
}elseif($oper == "-"){
$result = $num1 - $num2;
}elseif($oper == "*"){
$result = $num1 * $num2;
}elseif($oper = "/"){
if($num2 == 0){
$error = <<<ERROR
<script>
alert('第二个数不能为0');
</script>
ERROR;
return $error;
}
$result = $num1 / $num2;
}
return $result;
} if($_SERVER['REQUEST_METHOD'] == "POST"){
$res = jsq($_POST['num1'],$_POST['oper'],$_POST['num2']);
}
?> <h2>用php写的基础计算器</h2>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
第一个数:<input type="text" name="num1" /><p>
操作符:<select name="oper">
<option value="+"> + </option>
<option value="-"> - </option>
<option value="*"> * </option>
<option value="/"> / </option>
</select><p>
第二个数:<input type="text" name="num2" /><p>
<input type="submit" value="计算" /> </form>
计算结果为:<?php echo isset($res)?$res:""; ?>

PHP的基础计算器的更多相关文章

  1. LeetCode OJ:Basic Calculator(基础计算器)

    Implement a basic calculator to evaluate a simple expression string. The expression string may conta ...

  2. vuejs基础-计算器案例

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  3. 神奇的计算器dc和bc

    神奇的计算器dc和bc Linux就这个范儿 P244http://baike.baidu.com/link?url=YlTtivBfc1tfzreeUQoe8D0C6yqwbZGqnmlObq1hj ...

  4. Linux之初识磁盘

    磁盘知识体系概括 机械硬盘和固态硬盘 机械磁盘剖开图 磁盘工作的视频动画,主轴转动,机械手读写 模拟磁盘工作视频,点击中间三角播放 磁盘结构详解 磁盘外部结构 组成 主要由三部分组成:盘片.主轴(机械 ...

  5. Linux —— 常见指令及其英文全称

    alias:给命令起别名 awk = "Aho Weiberger and Kernighan" ,三个作者的姓的第一个字母 bash:GNU Bourne-Again Shell ...

  6. Linux常用命令及其英文全称

      alias:给命令起别名 awk = "Aho Weiberger and Kernighan" ,三个作者的姓的第一个字母 bash:GNU Bourne-Again She ...

  7. Linux必备工具与软件包

    yum -y update(所有都升级和改变) 升级所有包,系统版本和内核,改变软件设置和系统设置 ----------------------------------------------- yu ...

  8. 5.3 Spring5源码--Spring AOP使用接口方式实现

    Spring 提供了很多的实现AOP的方式:Spring 接口方式,schema配置方式和注解. 本文重点介绍Spring使用接口方式实现AOP. 使用接口方式实现AOP以了解为目的. 更好地理解动态 ...

  9. 5.2 Spring5源码--Spring AOP源码分析二

    目标: 1. 什么是AOP, 什么是AspectJ 2. 什么是Spring AOP 3. Spring AOP注解版实现原理 4. Spring AOP切面原理解析 一. 认识AOP及其使用 详见博 ...

随机推荐

  1. Android进阶2之APK方式换肤

    public class MainActivity extends Activity { private Button defaultbutton = null; @Override public v ...

  2. mysql备份工具 :mysqldump mydumper Xtrabackup 原理

    备份是数据安全的最后一道防线,对于任何数据丢失的场景,备份虽然不一定能恢复百分之百的数据(取决于备份周期),但至少能将损失降到最低.衡量备份恢复有两个重要的指标:恢复点目标(RPO)和恢复时间目标(R ...

  3. qt widget设置Qt::FramelessWindowHint和Qt::WA_TranslucentBackground, 会出现一个bug: 在最小化后还原时界面停止刷新

    qt widget设置Qt::FramelessWindowHint和Qt::WA_TranslucentBackground, 会出现一个bug: 在最小化后还原时界面停止刷新 Widget wit ...

  4. HBase-初看HBase

    0.95版本hbase 单机模式下所有的服务都运行在一个JVM上,包括HBase和zookeeper.使用的是本地文件系统 日志默认放在目录下logs文件夹中 基本命令: create 'table' ...

  5. struts2.1笔记02:servlet简介

    1.     Servlet 是在服务器上运行的小程序.这个词是在 Java applet的环境中创造的,Java applet 是一种当作单独文件跟网页一起发送的小程序,它通常用于在客户端运行,结果 ...

  6. 一个JS版本的MD5

    var hexcase = 0; function hex_md5(a) { if (a == "") return a; return rstr2hex(rstr_md5(str ...

  7. javaweb学习总结十二(JAXP对XML文档进行SAX解析)

    一:JAXP使用SAX方式解析XML文件 1:dom解析与sax解析异同点 2:sax解析特点 二:代码案例 1:xml文件 <?xml version="1.0" enco ...

  8. iOS下获取用户当前位置的信息

    #import <MapKit/MKMapView.h> @interface ViewController (){ CLLocationManager *_currentLoaction ...

  9. Colossal Fibonacci Numbers(巨大的斐波那契数)UVA 11582

    评测地址:http://acm.hust.edu.cn/vjudge/problem/41990 The i'th Fibonacci number f (i) is recursively de n ...

  10. Ehcache(2.9.x) - API Developer Guide, Cache Manager Event Listeners

    About CacheManager Event Listeners CacheManager event listeners allow implementers to register callb ...