算数运算符
注意事项
在除法运算中
两数能整除,结果的数据类型为int(整型)
两数不能整除,结果的数据类型为float(浮点型)
在取模操作中
操作数在运算之前都会转换成整数(除去小数部分
字符串运算符
两个字符串运算符
- 连接运算符(.),返回其左右参数连接后的字符串
- 连接赋值运算符(.=),将右边参数附加到左边的参数之后
案例
组合运算
比较运算符
注意事项
如果比较一个数字和字符串或者比较涉及到数字内容的字符串,则字符串会被转换为数值并且比较按照数值来进行。此规则也适用于switch语句
当用=== 或 !===进行比较是则不进行类型转换,因为此时类型和数值都要比对
逻辑运算符
与:"&&“比"and"的优先级高
或:”||"比"or"的优先级高
运算符优先级表
数组运算符
递增,递减运算符
注意事项
递增递减不影响布尔值
递减NULL值没有什么效果
递增null值的结果为1
不会把操作转换成整数后再运算
如果运算数是布尔值,则直接返回结果
三元运算符
语法格式
语法一:
(expr1)?(expr2):(expr3)
对expr1求值
为true时,值为expr3
为false时,值为expr2
语法二:
自php5.3来,可以省略
expr1 ?: expr3
再expr1求值为true
,返回expr1
否则返回expr3
语法三:
php7
$s = $_GET[‘user’] ?? ‘NO’;
案例
太空操作符
PHP7+
<=>
组合比较运算符可以轻松实现两个变量的比较,当然不仅限于数值类数据的比较
语法格式
$c = $a <=> $b;
大于1 等于0 小于-1
解析
如果 $a > $b ,则 $c的值为1
如果 $a == $b ,则 $c的值为0
如果 $a < $b ,则 $c的值为-1