PHP的基础计算器
设计一个计算的功能,该功能能够完成运算并且能够对不合理的数据进行验证并且给出错误提示.
规则: 第一个数,第二个数不能够为空
如果操作符是/,第二个数数不能够为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的基础计算器的更多相关文章
- LeetCode OJ:Basic Calculator(基础计算器)
Implement a basic calculator to evaluate a simple expression string. The expression string may conta ...
- vuejs基础-计算器案例
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- 神奇的计算器dc和bc
神奇的计算器dc和bc Linux就这个范儿 P244http://baike.baidu.com/link?url=YlTtivBfc1tfzreeUQoe8D0C6yqwbZGqnmlObq1hj ...
- Linux之初识磁盘
磁盘知识体系概括 机械硬盘和固态硬盘 机械磁盘剖开图 磁盘工作的视频动画,主轴转动,机械手读写 模拟磁盘工作视频,点击中间三角播放 磁盘结构详解 磁盘外部结构 组成 主要由三部分组成:盘片.主轴(机械 ...
- Linux —— 常见指令及其英文全称
alias:给命令起别名 awk = "Aho Weiberger and Kernighan" ,三个作者的姓的第一个字母 bash:GNU Bourne-Again Shell ...
- Linux常用命令及其英文全称
alias:给命令起别名 awk = "Aho Weiberger and Kernighan" ,三个作者的姓的第一个字母 bash:GNU Bourne-Again She ...
- Linux必备工具与软件包
yum -y update(所有都升级和改变) 升级所有包,系统版本和内核,改变软件设置和系统设置 ----------------------------------------------- yu ...
- 5.3 Spring5源码--Spring AOP使用接口方式实现
Spring 提供了很多的实现AOP的方式:Spring 接口方式,schema配置方式和注解. 本文重点介绍Spring使用接口方式实现AOP. 使用接口方式实现AOP以了解为目的. 更好地理解动态 ...
- 5.2 Spring5源码--Spring AOP源码分析二
目标: 1. 什么是AOP, 什么是AspectJ 2. 什么是Spring AOP 3. Spring AOP注解版实现原理 4. Spring AOP切面原理解析 一. 认识AOP及其使用 详见博 ...
随机推荐
- 将Uploads文件夹移到其它地方
1.在创建目录 cd /mnt/xvdb mkdir qingtong 2.复制目录和权限 cp -rp /Uploads/ ./ -r 包括目录 p权限 3.创建软链接 ln -s /mnt/xvd ...
- Python学习 之 编程
1.搭建python环境 交互模式:输入python进入交互模式,exit()退出交互模式 文本模式:新建*.py文件,编辑*.py文件,运行python *.py 2.python文件类型 (1)源 ...
- 循环语句until和while
一.until语句的基本格式 until 条件测试 do 语句块 done 只要条件测试语句未成功结束,则执行语句块.(如果一开始条件测试语句就成功退出,那么一次也不执行语句块.这里跟C语言中的do. ...
- 115 Java Interview Questions and Answers – The ULTIMATE List--reference
In this tutorial we will discuss about different types of questions that can be used in a Java inter ...
- 连续调用inet_ntoa打印出错的问题
近日写程序,在打印信息的时候调用了inet_ntoa函数,出现了打印一直出错的情况.google了一下,是因为inet_ntoa这类函数没有保证线程安全,其实现原理是在静态内容中申请一块内存,每次调用 ...
- 求教。。 为什么加载到servlet页面显示空白或者一直加载页面没显示也没错误?
package com.bean; public class Example7_2_Bean { String[] columnName;// 存放列名 String[][] tableRecord ...
- MySQL密码忘记之解决方法
方法一: 通过修改配置文件来登录mysql,方法也不难. 操作步骤: 在安装目录下找到配置文件my.ini 2.在my.ini中找到 [mysqld]字段,在它底下加上skip-grant-table ...
- CentOS(八)--crontab命令的使用方法
crontab命令常见于Unix和Linux的操作系统之中,用于设置周期性被执行的指令.该命令从标准输入设备读取指令,并将其存放于"crontab"文件中,以供之后读取和执行. 在 ...
- [改善Java代码]使用forName动态加载类文件
动态加载(Dynamic Loading)是指在程序运行时加载需要的类库文件,对Java程序来说,一般情况下,一个类文件在启动时或首次初始化时会被加载到内存中,而反射则可以在运行时再决定是否需要加载一 ...
- 关于Java序列化和Hadoop的序列化
import java.io.DataInput; import java.io.DataOutput; import java.io.DataOutputStream; import java.io ...