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及其使用 详见博 ...
随机推荐
- 转:打造DropDownList,TreeView,ListBox无限极分类目录树
[csharp] view plaincopyprint? #region DropDownList无限递归显示层次关系 /// <summary> /// 创建无限分级下拉列表框 /// ...
- php生成excel或php生成csv
一.php生成excel 使用phpexcel类文件生成 二.php生成csv <?php$action ="make";if ($action=='make'){ $fp ...
- php常见问题辨析(二)
一:unset: 1.如果在函数中 unset() 一个全局变量,则只是局部变量被销毁,而在调用环境中的变量将保持调用 unset() 之前一样的值,如果您想在函数中 unset() 一个全局变量,可 ...
- org.apache.hadoop.fs-Seekable
本来要先看BufferedFSInputStream的,但是它实现了Seekable和PositionedReadable接口,就先看这两个,再看它会比较容易理解些 package org.apach ...
- ServiceStack.Redis客户端访问库几项事项
1)RedisClient的SetValue(string key, byte[]val)方法,如果val的长度为0,则redis服务器库中设置该key值失败. 2)PoolRedisClientMa ...
- MySQL5.6 linux源码安装
安装mysql 创建mysql数据目录 mkdir -p /usr/local/mysql --安装目录 mkdir -p /mysql/data ---数据目录 mkdir -p /mysql/lo ...
- Weblogic 10.3.6 在RHEL5.4 下安装
一WebLogic简介 webserver是用来构建网站的必要软件.可用来解析.发布网页等功能,它是用纯java开发的.weblogic本来不是由bea发明的,是它从别人手中买过来,然后再加工扩展.B ...
- CentOS(十)--与Linux文件和目录管理相关的一些重要命令②
在结束了第二期的广交会实习之后,又迎来了几天休闲的日子,继续学习Linux.在上一篇随笔 Linux学习之CentOS(十七)--与Linux文件和目录管理相关的一些重要命令① 中,详细记录了与Lin ...
- LeetCode 278
First Bad Version You are a product manager and currently leading a team to develop a new product. U ...
- The message queue
今晚来整理一下消息队列,消息队列是一条由消息连接而成的链表,存在内核里面,通过消息对了的引用标识符来访问,每个消息队列都有一个msqid_ds结构与之对应,这个结构保存了消息队列的当前状态参数,这个结 ...