PHP学习总结(14)——PHP入门篇之常用运算符

一、什么是运算符
什么是运算符?运算符是告诉PHP做相关运算的标识符号。例如,你需要计算123乘以456等于多少,这时候就需要一个符号,告诉服务器,你需要做乘法运算。
PHP中的运算符有哪些?PHP运算符一般分为算术运算符、赋值运算符、比较运算符、三元运算符、逻辑运算符、字符串连接运算符、错误控制运算符。
任务
我们小时候学数学,首先学阿拉伯数字“1,2,3…”,然后就开始学习“1加1等于2”,那么在PHP中,加法算术运算符用啥表示呢?用“+”来表示。在右边的编辑器中,输入一条指令“$c = $a + $b;”。
二、PHP中的算术运算符
算术运算符主要是用于进行算术运算的,例如:加法运算、减法运算、乘法运算、除法运算。在PHP中的常用的算术运算符对应下表:
任务
考考服务器^_^,算个平均分呗!
在右边编辑器中,输入四条指令,如图:
1、在第7行输入第一条指令,用于计算总分;
$sum = $english+$math+$biological+$physical;
2、在第8行输入第二条指令,用于计算平均分;
$avg = $sum / 4;
3、在第9行输入第三条指令,计算数学比英语高几分;
$x = $math - $english;
4、在第10行输入第四条指令,学习下平方的计算方法。
$x2 = $english * $english;
计算结果如图所示:

三、PHP中的赋值运算符
PHP的赋值运算符有两种,分别是:
(1)“=”:把右边表达式的值赋给左边的运算数。它将右边表达式值复制一份,交给左边的运算数。换而言之,首先给左边的运算数申请了一块内存,然后把复制的值放到这个内存中。
(2)“&”:引用赋值,意味着两个变量都指向同一个数据。它将使两个变量共享一块内存,如果这个内存存储的数据变了,那么两个变量的值都会发生变化。
任务
咱们对比一下两个赋值运算符的区别吧?
在右边编辑器中输入条指令,
1、在第3行中输入第一条指令:
$b = $a;
2、在第4行中输入第二条指令:
$c = &$a;
如图所示:
从运行结果中:

四、PHP中的比较运算符
比较运算符主要是用于进行比较运算的,例如:等于、全等、不等、大于、小于。在PHP中常用的比较运算符如下表:
任务
咱来试试比较运算符吧!
在右边编辑器中,输入11条指令,如图所示:
分别是第4行,第6行,第8行,第10行,第12行,第14行,第18行,第20行,第22行,第24行,第26行。运行结果如下:
从运行结果中,我们可以发现全等和等于的区别,不等与非全等的区别。
五、PHP中的三元运算符
(“?:”)三元运算符也是一个比较运算符,对于表达式(expr1)?(expr2):(expr3),如果expr1的值为true,则此表达式的值为expr2,否则为expr3。
任务
看看三元运算符咋用吧!
在右边编辑器中第3行输入一条指令:
$b = $a >= 60 ? "及格": "不及格";
如下图所示:
其expr1的作用是判断$a值是否大于60,若大于60,则$b变量的值为expr2的值“及格”,若小于60,则$b变量的值为expr3的值“不及格”。运行结果如图所示:

六、PHP中的逻辑运算符
逻辑运算符主用是进行逻辑运算的,例如:逻辑与、逻辑或、逻辑异或、逻辑非等,在PHP中常用的逻辑运算符如下表:(点击看大图)
我们可以从投票的角度来理解逻辑运算:
1、逻辑与:要求所有人都投票同意,才会通过某协议;
2、逻辑或:只要求一个人投票同意就行;
3、逻辑异或:只能有且只能有一个人投票同意;
4、逻辑非:某个人要反对,但是通过逻辑非,使其反对无效;
“与”和“或”有两种不同形式运算符的原因是它们运算的优先级(就是运算的有限顺序,比如我们小学的时候学习四则运算,加减乘除混合在一起啦,优先计算乘除,再计算加减)不同。
任务
我来试一试:大家来投票吧!
我们假设有A、B、C、D进行了投票,然后我们用逻辑运算符,来判定他们的投票是否能通过某些协议。在右边编辑器中输入六条指令,分别是第7行,第9行,第11行,第13行,第15行,第17行,如下图所示:(点击看大图)
其中第7行,第9行,第11行需要括号括起来,因为这三个逻辑运算符的优先级没有三元运算符高。运行结果如下:

七、PHP中的字符串连接运算符
字符串连接运算符是为了将两个字符串进行连接,PHP中提供的字符串连接运算符有:
(1)连接运算符(“.”):它返回将右参数附加到左参数后面所得的字符串。
(2)连接赋值运算符(“.=”):它将右边参数附加到左边的参数后。
任务
两种连接运算符区别在哪呢?
在右边编辑器中输入三条指令,
1、在第3行输入第一条指令“$tip = $a.",欢迎您在慕课网学习PHP!";”
2、在第6行输入第二条指令“$b .= ",道是无晴却有晴";”
3、在第9行输入第三条指令“$c = $c.",道是无晴却有晴";”
如下图所示:
从运行结果中:
我们可以看出连接赋值运算符在连接字符串的基础上,还有赋值功能。此外,第6行的指令与第9行的指令效果相同,但前者代码更简洁。
八、PHP中的错误控制运算符
PHP中提供了一个错误控制运算符“@”,对于一些可能会在运行过程中出错的表达式时,我们不希望出错的时候给客户显示错误信息,这样对用户不友好。于是,可以将@放置在一个PHP表达式之前,该表达式可能产生的任何错误信息都被忽略掉;
如果激活了track_error(这个玩意在php.ini中设置)特性,表达式所产生的任何错误信息都被存放在变量$php_errormsg中,此变量在每次出错时都会被覆盖,所以如果想用它的话必须尽早检查。
需要注意的是:错误控制前缀“@”不会屏蔽解析错误的信息,不能把它放在函数或类的定义之前,也不能用于条件结构例如if和foreach等。
任务
看看错误控制运算符的效果吧!
在右边编辑器的第2行输入一条指令“$conn = @mysql_connect("localhost","username","password");”,如图所示:
在右边编辑器的第2行输入一条指令“$conn = @mysql_connect("localhost","username","password");”,如图所示:

取模算术符有啥用呢?
假设我们要在一个考场安排了一场考试,对考生从1开始,都进行了编号,那么怎么让服务器帮助我们计算考生在的位置呢,进而打印考场的考生对照表呢?在右边编辑器里输入两条指令,如图所示:
任务
我来试一试:
1、在第5行输入第一条指令,用于计算在第几排。
$line = ceil($no/$maxLine);
2、在第6行输入第二条指令,使用取模算术符计算所在位置。
$row = $no%$maxLine?$no%$maxLine:$maxLine;
运行结果如下:


转载于:https://www.cnblogs.com/zhanghaiyang/p/7212830.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/260328.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

百度时间显示_文章的发布时间对百度优化网站重要吗

文章的发布时间对百度优化网站重要吗?这个问题,相信很多初做网站优化的萌新朋友都会问到,以小匠个人的经历来分享这个问题的经验,小匠认为,文章的发布时间对优化网站是非常重要的,下面小匠将从实际经历来给…

循环链表解决约瑟夫环问题

约瑟夫环问题可以简单的使用数组的方式实现,但是现在我使用循环链表的方法来实现,因为上午看到一道面试题规定使用循环链表解决约瑟夫环问题。 什么是约瑟夫环? “约瑟夫环是一个数学的应用问题:已知n个人(以编号1&…

java 什么时候进行垃圾回收_java什么时候进行垃圾回收,垃圾回收的执行流程

java的垃圾回收分为三个区域新生代 老年代 永久代一个对象实例化时 先去看伊甸园有没有足够的空间如果有 不进行垃圾回收 ,对象直接在伊甸园存储.如果伊甸园内存已满,会进行一次minor gc然后再进行判断伊甸园中的内存是否足够如果不足 则去看存活区的内存是否足够.如果内存足够…

基于HTML5 Canvas 实现矢量工控风机叶轮旋转

之前在拓扑上的应用都是些静态的图元,今天我们将在拓扑上设计一个会动的图元——叶轮旋转。 先看看最后我们实现的效果:http://www.hightopo.com/demo/fan/index.html 我们先来看下这个叶轮模型长什么样 从模型上看,这个叶轮模型有三个叶片&a…

java 并发模型总类_java并发编程系列-内存模型基础

java线程之间的通信对程序开发人员是完全透明的,内存的可见性问题很容易困扰很多开发人员。本篇博文将揭开java内存模型的神秘面纱,来看看内存模型到底是怎样的。并发编程模型的分类并发编程中需要处理的两个关键问题:线程之间如何通信线程之…

ATS读小文件(内存命中)

一个资源根据其大小可能会存在多个存储对象中。如果足够小(连同doc结构的大小小于一个fragment的size),连同这个资源的meta信息一起存储在一个doc中。如果比较大,第一个存储对象保存资源的meta信息,后面跟着若干个frag…

fatal error C1902: 程序数据库管理器不匹配;请检查安装解决

终于找到原因了,原来是我安装的字体渲染,并且采用注册表的加载方式!改掉就好了!上天哪,这是怎么影响到的 卸载MacType程序后,进行尝试! VS2008 和 VS2010 又能用了! 我想求教育。。。…

[译]多线程网络服务模型

2019独角兽企业重金招聘Python工程师标准>>> 多线程网络服务模型 /*** 谨献给Yoyo** 原文出处&#xff1a;https://www.toptal.com/software/guide-to-multi-processing-network-server-models* author dogstar.huang <chanzonghuanggmail.com> 2016-04-02*/作…

java mvc引擎_SpringMvc+JavaConfig+Idea 搭建项目

1.介绍之前搭建SpringMvc项目要配置一系列的配置文件&#xff0c;比如web.xml,applicationContext.xml,dispatcher.xml。Spring 3.X之后推出了基于JavaConfig方式以及注解的形式的配置。在一定程度上简化了Spring项目的配置。近几年特别火的SpringBoot&#xff0c;大大的简化了…

极域电子书包课堂管理系统_【君莲微讯】君莲学校(小学部)开展电子书包第13共同体数学研讨活动...

借 助 媒 体 技 术丰 富 图 形 认 识君莲学校(小学部)开展电子书包共同体 数学研讨活动 2020年12月2日下午&#xff0c;君莲学校(小学部)开展了以“借助媒体技术 丰富图形认识”为主题的闵行区电子书包第13共同体的数学研讨活动。共同体学校教师代表、学校电子书包项目组主管朱…

python批量改动指定文件夹文件名称

这小样例仅仅要是说明用python怎么批量改动指定文件夹的文件名称&#xff1a; 记得要把脚本跟改动的文件放在同一个文件夹下 #encoding:utf-8 import os import sys files os.listdir(D:\\1) #路径能够自己for name in files:a os.path.splitext(name)if a[1] .txt: #txt能够…

Linux vmstat命令实战详解

vmstat命令是最常见的Linux/Unix监控工具&#xff0c;可以展现给定时间间隔的服务器的状态值,包括服务器的CPU使用率&#xff0c;内存使用&#xff0c;虚拟内存交换情况,IO读写情况。这个命令是我查看Linux/Unix最喜爱的命令&#xff0c;一个是Linux/Unix都支持&#xff0c;二是…

java 入门 博客园_javaweb入门

复习&#xff1a;css的常用样式&#xff1a;borderbackgroundpaddingmarginfloatposition 定位top left确定div在页面中的位置&#xff0c;这两个值可以为负数。cssdiv 布局方式cssdivtable 先由div划分大块儿&#xff0c;再由table进行整齐布局。下拉列表&#xff1a;层叠的布…

以ThreadStart方式实现多线程

3.1 使用ThreadStart委托 这里先以一个例子体现一下多线程带来的好处&#xff0c;首先在Message类中建立一个方法ShowMessage()&#xff0c;里面显示了当前运行线程的Id&#xff0c;并使用Thread.Sleep&#xff08;int ) 方法模拟部分工作。在main()中通过ThreadStart委托绑定M…

我的atom插件

atom插件实在是太多了&#xff0c;下面就说说我的插件 1.minimap 右边的小地图&#xff0c;和sublime里面的差不多&#xff1b; 2.open-in-browser 右击默认浏览器打开&#xff1b; 3.emmet 这个不用多说吧&#xff0c;html快速编译 4.git-plus 直接在atom提交代码&#xff0…

MonoRail - 简介 [基础知识篇]

MonoRail - 简介 起源 MonoRail是一个.NET的MVC web开发框架, 原名Castle On Rails, 是CastleProject的一个子项目. 作者hammett在使用过Ruby On Rails后, 觉得非常棒, 他希望在享受ror的开发模式的同时能使用大量现有的资源, 于是就用.NET写出了一个Castle On Rails. 后来ror那…

结对编程(黄金点游戏)

我扮演的角色是驾驶员 一、结对伙伴 领航员&#xff1a;赵峻 作业地址见我的博客。 二、代码地址 https://coding.net/u/k2048/p/huangjindian/git/blob/master/main.c 三、总结 1、个人总结 本次作业我扮演驾驶员&#xff0c;赵峻扮演领航员&#xff0c;我负责算法实现以及代码…

qtgl 鼠标平移 c++_罗技真爱粉的MX Master 3无线鼠标体验

​这是一篇关于罗技MX Master3的晒单&#xff0c;顺带也翻出我的库存清洁整理一下吧。在决定购买一款新鼠标的时候&#xff0c;我的第一目标其实是MX Vertical垂直鼠标&#xff0c;不过MX Vertical目前优势只在外形上&#xff0c;在MX系列中明显属于低配&#xff0c;自由滚轮、…

下载网页中的图片到本地

简单的一个下载如下 &#xff1a; string url "http://avatar.csdn.net/A/2/6/2_yefengzhixia.jpg";string filepath "D:\\pic.jpg";WebClient mywebclient new WebClient();mywebclient.DownloadFile(url, filepath);MessageBox.Show("OK");…

nacos linux启动_微服务系列之Nacos配置中心之一:Nacos介绍与安装

一、Nacos 介绍Nacos 是 Alibaba 公司推出的开源工具&#xff0c;用于实现分布式系统的服务发现与配置管理。英文全称 Dynamic Naming and Configuration Service&#xff0c;Na 为 Naming/NameServer 即注册中心&#xff0c;co 为 Configuration 即配置中心&#xff0c;Servic…