PHP中的运算符---位运算符、递增递减运算符、三元运算符、字符串运算符、数组运算符、类型运算符、错误控制运算符
1、位运算符
位运算符用来对整型数的指定位进行置位,如果被操作数是字符串,则对该字符串的ASCII码值进行操作。
| 运算类型 | 运算符 | 举例 | 结果 |
| 按位与 | & | $a & $b | 将$a 与 $b 中均为1的位置为1,其余置为0 |
| 按位或 | | | $a | $b | 将$a 中为1 或$b中为1的位置为1,其余置为0 |
| 按位异或 | ^ | $a ^ $b | 将$a 与 $b 中不同的位置为1,其余置为0 |
| 按位非 | ~ | ~ $a | 将 $a 中为1的位置为0,为0的位置为1 |
| 左移 | << | $a << $b | 当$a 中的位向左移动$b次,每移动一次相当于乘以2 |
| 右移 | >> | $a >> $b | 当$a 中的位向右移动$b次,每移动一次相当于除以2 |
2、递增递减运算符
| 运算类型 | 运算符 | 举例 | 结果 |
| 前递增 | ++ | ++$a | $a自增1,然后返回$a |
| 后递增 | ++ | $a++ | 先返回$a,然后$a自增1 |
| 前递减 | -- | --$a | $a自减1,然后返回$a |
| 后递减 | -- | $a-- | 先返回$a,然后$a自减1 |
3、三元运算符
三元运算符(?:),又称三目运算符,作用类似选择语句,用于根据一个表达式的真假,从另外两个表达式中选择一个。用法如下:
逻辑表达式 ? 表达式1 : 表达式2
如果逻辑表达式为真,则返回表达式1,否则返回表达式2
4、字符串运算符
在PHP中,常看到两个字符串通过一个小圆点“.”连接起来的情况,该圆点就是字符串运算符。通过字符串运算符,可以将任意多的字符串连接成一条字符串。
如果字符串连接符的操作对象中有数值型变量,PHP引擎会将其先转成字符串型,然后再进行字符串连接。
5、数组运算符
| 运算类型 | 运算符 | 举例 | 结果 |
| 联合运算 | + | $a + $b | 将$a的元素附加到$b的后面,重复的键值不被覆盖 |
| 相等比较 | == | $a == $b | 当$a与$b拥有相同的键值对,返回真,否则返回假 |
| 全等比较 | === | $a === $b | 当$a与$b拥有相同的键值对,且元素的顺序和类型都相同,返回真,否则返回假 |
| 不等比较 | != 或 <> | $a != $b | 当$a与$b拥有相同的键值对,返回假,否则返回真 |
| 不全等比较 | !== | $a !== $b | 当$a与$b拥有相同的键值对,且元素的顺序和类型都相同,返回假,否则返回真 |
6、类型运算符
在PHP中,类型运算符instanceof常用来判断某个变量是否属于某个类的实例。此外,类型运算符还可以用来确定某一变量是否是继承自某一父类的子类的实例,也可以用来确定某一变量是否实现了某个接口的对象的实例。
7、错误控制运算符
错误控制运算符用@表示,将其放在出错的表达式前,可以屏蔽出现的错误信息。
PHP中的运算符---位运算符、递增递减运算符、三元运算符、字符串运算符、数组运算符、类型运算符、错误控制运算符的更多相关文章
- C++ Primer笔记12_运算符重载_递增递减运算符_成员訪问运算符
1.递增递减运算符 C++语言并不要求递增递减运算符必须是类的成员.可是由于他们改变的正好是所操作对象的状态.所以建议设定为成员函数. 对于递增与递减运算符来说,有前置与后置两个版本号,因此.我们应该 ...
- 谨慎使用递增/递减运算符(C++)
递增++和递减运算符--不论看起来还是用起来,都感觉是十分简单而又优雅的,然而其中却藏有无法受控制的陷阱,我们必须小心的避免错误的用法而出现的不可控的情况发生. 比方说:x = 2* x++ *(3 ...
- JavaScript运算符:递增递减运算符前置和后置的区别
从两段代码说起 var num1 = 2; var num2 = 20; var num3 = --num1 + num2; var num4 = num1 + num2; console.log(n ...
- 为什么位运算可以实现加法(1、 不考虑进位的情况下位运算符中的异或^可以表示+号)(2、 位运算符中的与运算符&和左移运算符<<可以模拟加法中的进位)(3、位运算不仅可以做加法,还可以做其它的乘法减法等:计算机本质是二进制运算)
为什么位运算可以实现加法(1. 不考虑进位的情况下位运算符中的异或^可以表示+号)(2. 位运算符中的与运算符&和左移运算符<<可以模拟加法中的进位)(3.位运算不仅可以做加法,还 ...
- C基础知识(3):指针--概念、数组中指针的递增/递减、指针数组&数组指针、指向指针的指针
指针是一个变量,其值为另一个变量的地址. 所有指针的值的实际数据类型,不管是整型.浮点型.字符型,还是其他的数据类型,都是一样的,都是一个代表内存地址的长的十六进制数. 下面从4个代码例子分别讲述以下 ...
- javascript运算符——位运算符
× 目录 [1]二进制 [2]非 [3]与[4]或[5]异或[6]左移[7]右移[8]>>>[9]应用 前面的话 位运算符是非常底层的运算,由于其很不直观,所以并不常用.但是,其速度 ...
- Python新手学习基础之运算符——位运算
位运算符 位运算实际上是把数字看作二进制来进行计算,它的运算法则如下: 结合实例,来看下位运算是如何进行的吧: 位运算在实际应用中用途很广泛,比如我们经常听到的子网掩码,它其实就是和IP地址做了按位与 ...
- java入门---运算符&算术运算符&自增自减运算符&关系运算符&位运算符
计算机的最基本用途之一就是执行数学运算,作为一门计算机语言,Java也提供了一套丰富的运算符来操纵变量.我们可以把运算符分成以下几组: 算术运算符 关系运算符 位运算符 逻辑运算符 赋值运算符 ...
- 【Python】2.16学习笔记 运算符,位运算符,if-else语句
复合运算符 a *= b # a = a * b a += b # a = a + b a -= b # a = a - b ... 位运算符 对数字进行二进制运算 按位与 &,二进制位都为一 ...
随机推荐
- [转载] javascript实现深度克隆
js一般有两种不同数据类型的值: 基本类型(包括undefined,Null,boolean,String,Number),按值传递: 引用类型(包括数组,对象),按址传递,引用类型在值传递的时候是内 ...
- javaSE学习路线
Java SE大致可分为以下几块内容: n 对象导论:如何用面向对象的思路来开发 n 深入JVM:Java运行机制以及JVM原理 n 面向对象的特征:封装.继承.抽象.多态 n 数组和容器:容 ...
- asp.net MVC code first Migrations : Model 同步到DB中
找来找去,看来用这个功能的人很少. http://www.it165.net/pro/html/201403/10653.html 步骤: 1,在程序包管理控制台上,Enable-Migrations ...
- Jquery DIV滚动至浏览器顶部后固定不动代码
$(function(){ //获取要定位元素距离浏览器顶部的距离 var navH = $(".win").offset().top; //滚动条事件 $(window).scr ...
- CSS3 Gradient
CSS3CSS3发布很久了,现在在国外的一些页面上常能看到他的身影,这让我羡慕已久,只可惜在国内为了兼容IE,让这一项技术受到很大的限制,很多Web前端人员都望而止步.虽然如此但还是有很多朋友在钻研C ...
- block的常见用法
一.声明和定义 1.声明 声明方式:返回值(^block)(参数).声明时,参数变量名可以省略:使用时,参数变量名不能省略,不然会无法调用传入的参数 void(^block)(); void(^blo ...
- SQL SERVER 2008 r2安装失败之Integration Service
因工作需要,遂把以前的2008升级到r2,升级失败,具体原因忘了,卸载2008,清了注册表删了文件,结果安装的时候失败了,如下图: 下一步-有错误日志和错误的序列号,错误日志在C:\Program F ...
- Spring中配置文件中引用外部文件
src\dayday\conn.java package dayday;import java.sql.Connection;import java.sql.DriverManager;import ...
- linux下包不重新编译php安装openssl 扩展
今天在刚装好的centos上安装composer,老是报错,提示不安全的,后来发现是由于https的缘故,需要openssl,可能是开始装php的时候没有安装此扩展,网上有好多方案,一开始我认为只有重 ...
- SE Homework 1 —An Error Impressed Me
在对两个对象进行比较.判断是否相等时,直接用 == 放在两个对象中间,例如下面的代码: Infor i1 = new Infor(111,"AA"); Infor i2 = new ...