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 ... 位运算符 对数字进行二进制运算 按位与 &,二进制位都为一 ...
随机推荐
- [转] 使用反射机制控制Toast的显示时间
大体上说就是利用toast的内部类TN 来控制show和hide ,这是一个反射机制 怎么控制toast的显示时间呢?这个就是通过tn类的show和hide的方法 http://blog.csdn.n ...
- oracle问题
(1) 连通性: 注册中心负责服务地址的注册与查找,相当于目录服务,服务提供者和消费者只在启动时与注册中心交互,注册中心不转发请求,压力较小 监控中心负责统计各服务调用次数,调用时间等,统计先在内存汇 ...
- java nio(non-blocking io)简介及和io
在 Java1.4之前的I/O系统中,提供的都是面向流的I/O系统,系统一次一个字节地处理数据,一个输入流产生一个字节的数据,一个输出流消费一个字节 的数据,面向流的I/O速度非常慢,而在Java 1 ...
- static成员变量与返回对象的引用
(1)用static修饰类成员变量(属性),表明该变量是静态的,无论创建多少对象,都只创建一个一个静态属性副本,也就是对象们共享同一个静态属性,这个方法常用的一个用途就是用来计算程序调用了多少次这个类 ...
- 静态变量static和extern外引用
静态变量--加static关键字的变量,特点: (1)在全局数据区中分配内存,每次对其值得修改都会保留结果,直至程序结束. (2)若静态变量没显示初始化,那会被自动初始化为0,并且只能初始化一遍. 1 ...
- Android深度探索--HAL与驱动开发----第九章读书笔记
Google为Android加入HAL主要有如下的目的. 统一硬件的调用接口.由于HAL 有标准的调用接口,所以可以利用HAL屏蔽Linux 驱动复杂.不统一的接口. 解决了GPL版权问题.由于Lin ...
- C++关于Condition Variable
#include <condition_variable> #include <mutex> #include <future> #include <iost ...
- eclipse + marven
eclipse使用maven管理项目,可以自动下载依赖包(尤其是容易引起依赖包冲突的场合),也可以实现打jar包,编译等功能 1 eclipse安装maven插件 使用Eclipse--help-- ...
- #include <vector>用法之我见
vector是一种顺序容器,事实上和数组差不多,但它比数组更优越.一般来说数组不能动态拓展,(何为动态拓展,即是说如果你知道你要存的数据的个数,你定义的存储数据的数组大小也就决定了,但是若你事先不知道 ...
- Using dijit/Destroyable to build safe Components
In today's long-lived JavaScript apps it is essential to not introduce memory leaks within your cust ...