PHP的运算符号和操作符号
按运算符号的功能划分为
算术运算符,用于处理常用的数学运算
加+ 减- 乘* 除/
取余运算符% 通常运用于整除运算(如判断是否闰年)和控制范围。尽量不要使用小数和负数进行取余操作;%操作符会把该运算符两边的数转为整数后进行取余操作。
自增运算符++和自减运算符–
$var++类似$var=$var+1,但自增运算符放在变量的前后是有一定区别的,$var++是使用变量再加1,而++$var是先加1再使用变量。–和++相同,只是进行的是减1的运算。
字符串运算符(连接运算符/点运算符)
字符串运算符为英文中的点 . 用于连接字符串或字符串与其它标量组成一个新字符串;
赋值运算符左边通常需要是一个变量,将右边的值赋给左边的变量
= += -= *= /= %= .=
$var+=10的效果相当于$var=$var+10
比较运算符,又称关系运算符或条件运算符,比较运算的结果为布尔型(true或false)
大于> 小于< 大于等于>= 小于等于<=
等于==(注意等于号==不同于赋值运算符=)
全等于=== 全不等于!== 这两个符号不仅对比内容,还要对比数据类型
不等于!= 或<>
逻辑运算符只能处理布尔型的值,返回的也是Boolean型的值
与运算符&&或and(两边的值都为真时为真)
或运算符 ||或or (两边的值有一个为真时为真)
取反运算符!或not
位运算符,位运算是在二进制的基础上进行计算
按位与&两个值在二进制中都为1时为1,否则为0
按位或 |两个值在二进制中有一个为1时为1,否则为0
按位异或^ 两者不同时为1,按位取反~即1变成0,0变成1,左移<<相当于乘2,右移>>相当于除2,无符号右移 >>>无论在二进制中首位为0还是1,都作为0。
注意:& 和 | 即可以做为逻辑运算符号,又可以作为位运算符号
短路问题:&& 和 ||会发生短路
&& 在作运算时, 如果前面的数是false, 则后面是否为true,整个表达式都是false, 所就不去执行后面的操作数。
|| 在作运算时, 如果前面的数是true, 则后面是否为false, 整个表达式都为true,
所就不去执行后面的操作数。
& 或 |在用运算时,两边都会被执行
其它运算符
三元运算符? : 类似于if(){} else{},问号前用于进行判断,若为真执行冒号前的语句,若为假执行冒号后的语句;
两个反引号可用于执行系统命令,如$str=
ipconfig /all
,反引号中的系统命令将在被执行后将值赋给$str;
错误抑制符@,将屏蔽掉系统错误信息
此外还有=> :: -> & $等等
以上的运算符都有不同的优化级,实际运用中可使用括号()来控制运算的优先级。