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 ... 位运算符 对数字进行二进制运算 按位与 &,二进制位都为一 ...
随机推荐
- shared_ptr和多线程
前一篇文章写得实在太挫,重新来一篇. 多线程环境下生命周期的管理 多线程环境下,跨线程对象的生命周期管理会有什么挑战?我们拿生产者消费者模型来讨论这个问题. 实现一个简单的用于生产者消费者模型的队列 ...
- 【转】输入/输出流 - 深入理解Java中的流 (Stream)
基于流的数据读写,太抽象了,什么叫基于流,什么是流?Hadoop是Java语言写的,所以想理解好Hadoop的Streaming Data Access,还得从Java流机制入手.流机制也是JAVA及 ...
- js②
操作符 ECMA-262描述了一组用于操作数据值的操作符,包括算术操作符(如加号和减号).位操作符.关系操作符和相等操作符. 一元操作符 递增和递减操作符(++ --) 一元加和减操作符 对非数值应用 ...
- Spring Security 从配置入门 学习讲解。刽子手------------securityConfig.xml
不知道我的web.xml 大家都理解了没. 废话确实有点多,可能很多知识点,大家都知道,可是我学的时候,压根什么都不懂啊.... 这篇我们要讲刽子手 securityConfig. 为什么要说他是 ...
- 《C++primer》v5 第4章 表达式 读书笔记 习题答案
4.1 105 4.2 *vec.begin()=*(vec.begin())//先调用点运算符,再解引用 *vec.begin()+1=(*vec.begin())+1//先解引用,再加一 4.3略 ...
- android 网络请求库的比较
源码请戳 一. 现有库和选择的库 HttpURLConnection:是Java中的标准类,是对Java中socket的封装. Httpclient:是Apache的开源框架,是对HttpURLCon ...
- android ORM框架ORMLite封装
源码:http://download.csdn.net/detail/a924571572/9415506 一.框架效率对比 由于目前公司里面android端数据的数据量基本在千条以内,所以选择了更为 ...
- Jqgrid学习API
JQGrid是一个在jquery基础上做的一个表格控件,以ajax的方式和服务器端通信. JQGrid Demo 是一个在线的演示项目.在这里,可以知道jqgrid可以做什么事情. 下面是转自其他人b ...
- 运行带cocoa pods 的项目,遇到的问题是找不到文件,解决办法
打开终端,进入项目所在的目录,也就是和Podfile在同一目录下,输入以下命令(由于已经有Podfile,所以不需要再创建Podfile): pod update 过几秒(也许需要十几秒,取决于你的 ...
- HSLA颜色
CSS2中色彩模式只有RGB色彩模式(RGB即RED.Green.BLue)和十六进制模式,为了能支持 透明opacity 的Alpha值,CSS3又增加了RGBA色彩模式(RGBA即RED.Gree ...