PHP读书笔记(4)-运算符
什么是运算符
什么是运算符?运算符是告诉PHP做相关运算的标识符号。例如,你需要计算123乘以456等于多少,这时候就需要一个符号,告诉服务器,你需要做乘法运算。
PHP中的运算符有哪些?PHP运算符一般分为算术运算符、赋值运算符、比较运算符、三元运算符、逻辑运算符、字符串连接运算符、错误控制运算符。
PHP中的算术运算符
算术运算符主要是用于进行算术运算的,例如:加法运算、减法运算、乘法运算、除法运算。在PHP中的常用的算术运算符对应下表:
PHP中的赋值运算符
PHP的赋值运算符有两种,分别是:
(1)“=”:把右边表达式的值赋给左边的运算数。它将右边表达式值复制一份,交给左边的运算数。换而言之,首先给左边的运算数申请了一块内存,然后把复制的值放到这个内存中。
(2)“&”:引用赋值,意味着两个变量都指向同一个数据。它将使两个变量共享一块内存,如果这个内存存储的数据变了,那么两个变量的值都会发生变化。
PHP中的比较运算符
比较运算符主要是用于进行比较运算的,例如:等于、全等、不等、大于、小于。在PHP中常用的比较运算符如下表:
PHP中的三元运算符
(“?:”)三元运算符也是一个比较运算符,对于表达式(expr1)?(expr2):(expr3),如果expr1的值为true,则此表达式的值为expr2,否则为expr3。
(“?:”)三元运算符也是一个比较运算符,对于表达式(expr1)?(expr2):(expr3),如果expr1的值为true,则此表达式的值为expr2,否则为expr3。
PHP中的逻辑运算符
逻辑运算符主用是进行逻辑运算的,例如:逻辑与、逻辑或、逻辑异或、逻辑非等,在PHP中常用的逻辑运算符如下表:
我们可以从投票的角度来理解逻辑运算:
1、逻辑与:要求所有人都投票同意,才会通过某协议;
2、逻辑或:只要求一个人投票同意就行;
3、逻辑异或:只能有且只能有一个人投票同意;
4、逻辑非:某个人要反对,但是通过逻辑非,使其反对无效;
“与”和“或”有两种不同形式运算符的原因是它们运算的优先级(就是运算的有限顺序,比如我们小学的时候学习四则运算,加减乘除混合在一起啦,优先计算乘除,再计算加减)不同。
我们可以从投票的角度来理解逻辑运算:
1、逻辑与:要求所有人都投票同意,才会通过某协议;
2、逻辑或:只要求一个人投票同意就行;
3、逻辑异或:只能有且只能有一个人投票同意;
4、逻辑非:某个人要反对,但是通过逻辑非,使其反对无效;
PHP中的字符串连接运算符
字符串连接运算符是为了将两个字符串进行连接,PHP中提供的字符串连接运算符有:
(1)连接运算符(“.”):它返回将右参数附加到左参数后面所得的字符串。
(2)连接赋值运算符(“.=”):它将右边参数附加到左边的参数后。
PHP中的错误控制运算符
PHP中提供了一个错误控制运算符“@”,对于一些可能会在运行过程中出错的表达式时,我们不希望出错的时候给客户显示错误信息,这样对用户不友好。于是,可以将@放置在一个PHP表达式之前,该表达式可能产生的任何错误信息都被忽略掉;
如果激活了track_error(这个玩意在php.ini中设置)特性,表达式所产生的任何错误信息都被存放在变量$php_errormsg中,此变量在每次出错时都会被覆盖,所以如果想用它的话必须尽早检查。
需要注意的是:错误控制前缀“@”不会屏蔽解析错误的信息,不能把它放在函数或类的定义之前,也不能用于条件结构例如if和foreach等。
上一篇:PHP读书笔记(3)-常量
下一篇:PHP读书笔记(5)-结构语句
“与”和“或”有两种不同形式运算符的原因是它们运算的优先级(就是运算的有限顺序,比如我们小学的时候学习四则运算,加减乘除混合在一起啦,优先计算乘除,再计算加减)不同。
PHP读书笔记(4)-运算符的更多相关文章
- Java 读书笔记 (九) 运算符
短路逻辑运算符 && 当使用与逻辑运算符时,在两个操作数都为true时,结果才为true,但是当得到第一个操作为false时,其结果就必定是false,这时候就不会再判断第二个操作了. ...
- 新标准C++程序设计读书笔记_运算符重载
形式 返回值类型 operator 运算符(形参表) { …… } 运算符重载 (1)运算符重载的实质是函数重载(2)可以重载为普通函数,也可以重载为成员函数 class Complex { publ ...
- 《C#高级编程》读书笔记
<C#高级编程>读书笔记 C#类型的取值范围 名称 CTS类型 说明 范围 sbyte System.SByte 8位有符号的整数 -128~127(−27−27~27−127−1) sh ...
- C++ 11学习和掌握 ——《深入理解C++ 11:C++11新特性解析和应用》读书笔记(一)
因为偶然的机会,在图书馆看到<深入理解C++ 11:C++11新特性解析和应用>这本书,大致扫下,受益匪浅,就果断借出来,对于其中的部分内容进行详读并亲自编程测试相关代码,也就有了整理写出 ...
- 《C#图解教程》读书笔记之六:接口和转换
本篇已收录至<C#图解教程>读书笔记目录贴,点击访问该目录可获取更多内容. 一.接口那点事儿 (1)什么是接口? 一组函数成员而未实现的引用类型.只有类和结构能实现接口. (2)从ICom ...
- 《javascript权威指南》读书笔记(连载)
这是一篇很长的博客 终于把权威指南给买回来了,之前一直犹豫,第一:书太厚,怕买了不能坚持看完.第二:觉得太贵,最少100¥.现在实习也能发点工资了,给自己定了一个志愿:把一个月的工资用于买书.这么一想 ...
- 《深入理解bootstrap》读书笔记:第一章 入门准备
一.bootstrap框架简介 Bootstrap是最流行的前端开发框架. 什么是框架:开发过程的半成品. bootstrap具有以下重要特性: (1)完整的CSS样式插件 (2)丰富的预定义样式表 ...
- 编写高质量代码改善C#程序的157个建议读书笔记【1-10】
开篇 学生时代,老师常说,好记性不如烂笔头,事实上确实如此,有些知识你在学习的时候确实滚瓜烂熟,但是时间一长又不常用了,可能就生疏了,甚至下次有机会使用到的时候,还需要上网查找资料,所以,还不如常常摘 ...
- 《JavaScript权威指南》读书笔记(一)
日期 2015-11-28 把之前的读书笔记在我弄丢它之前搬过来~~ 时间过去好久,回头一看理解都不一样了. 重点浏览了一下和Java的不同之处: js是一种宽松类型语言:js不区别整形数值与浮点型数 ...
随机推荐
- java的动态代理机制
前几天看到java的动态代理机制,不知道是啥玩意,然后看了看.死活不知道 invoke(Object proxy, Method m, Object[] args)种的proxy是个什么东西,放在这里 ...
- [转]Ubuntu下GitHub的使用
转自Pythoner 本文将对Ubuntu下Git的安装,以及如何连接GitHub进行讲解. 1.环境 OS: Ubuntu13.04 64bitsGit: 1.8.1.2 2.Git安装 执行如下命 ...
- libyuv颜色空间转换开源库
libyuv据说在缩放和颜色空间转换,比ffmpeg效率高很多倍.不知道和我们的PP库比起来怎么样.同样有neon指令集优化.支持移动设备.
- iOS 开发的9个超有用小技巧
http://www.jianshu.com/p/221507eb8590 1.如何快速的查看一段代码的执行时间. 1 2 #define TICK NSDate *startTime = [NS ...
- [iOS基础控件 - 6.9.4] 抓取网页图片资源
A.需求 1.利用浏览器取得网页的源码 2.解析源码,获取图片地址(这里使用了java的一个库来解析html) 3.获取资源,生成plist目录 B.实现步骤 1.打开一个网页,最好里面是包含了静 ...
- 新手指南:详解Linux Top 命令
Linux top命令简介 top 命令是最流行的性能监视工具之一,我们必需了解.它是一个优秀的交互式工具,用于监视性能.它提供系统整体性能,但报告进程信息才是 top 命令的长处.top 命令交互界 ...
- android使用mount挂载/system/app为读写权限,删除或替换系统应用
注意:以下代码中#开头的则为需要执行的shell命令,其他的为打印的结果.#代表需要使用ROOT权限(su)执行,所以想要修改您android手机某个目录挂载为读写,首先需要有ROOT权限! 先要得到 ...
- C++ API设计
<C++ API设计> 基本信息 作者: (美)Martin Reddy 译者: 刘晓娜 臧秀涛 林健 丛书名: 图灵程序设计丛书 出版社:人民邮电出版社 ISBN:97871153 ...
- CSS实现子级窗口高度随低级窗口高度变化
纯粹使用使用height:100%;或者height:auto;来定义内部容器自适应高度,都无法实现让内部容器高度随着外部父容器高度变化而变化,所以我们必需要使用position绝对定位属性来配合协助 ...
- python字符串相关的函数
有些是字符串对象的方法,有些是内建库的方法 split分割字符串 find 查找字符串 for c in str: 遍历字符串 len 获取字符串长度 int 将字符串转换成int str ...