9.1 算术运算符
运算符 | 名称 | 描述 |
---|
x + y | 加 | 求和 |
x - y | 减 | 做差 |
x * y | 乘 | 乘积 |
x / y | 除 | 求商 |
x % y | 取模 | 求余数 |
- x | 取反 | 取反 |
a . b | 并置 | 连接两个字符串 |
9.2 赋值运算符
运算符 | 等同于 | 描述 | |
---|
x = y | x = y | 将右侧表达式的值赋给左侧操作数 | |
x += y | x = x + y | 加 | |
x -= y | x = x - y | 减 | |
x *= y | x = x * y | 乘 | |
x /= y | x = x / y | 除 | |
x %= y | x = x % y | 取模 | |
a .= b | a = a.b | 连接两个字符串 | |
9.3 递增/递减运算符
运算符 | 名称 | 描述 |
---|
++ x | 预递增 | x加1,然后返回x |
x ++ | 后递增 | 返回x,然后x加1 |
– x | 预递减 | x减1,然后返回x |
x – | 后递减 | 返回x,然后x减1 |
9.4 比较运算符
运算符 | 名称 | 描述 |
---|
x == y | 等于 | 如果x等于y,则返回true |
x === y | 绝对等于 | 如果x等于y,且它们类型相同,则返回true |
x != y | 不等于 | 如果x不等于y,则返回true |
x <> y | 不等于 | 如果x不等于y,则返回true |
x !== y | 绝对不等于 | 如果x不等于y,或它们的类型不同,则返回true |
x > y | 大于 | 如果x大于y,则返回true |
x < y | 小于 | 如果x小于y,则返回true |
x >= y | 大于等于 | 如果x大于等于y,则返回true |
x <= y | 小于等于 | 如果x小于等于y,则返回true |
9.5 逻辑运算符
运算符 | 名称 | 描述 |
---|
x and y | 逻辑与 | 只有x和y都为true,才返回true |
x or y | 逻辑或 | 如果x和y中至少一个为true,则返回true |
x xor y | 逻辑异或 | 当x和y中有且只有一个为true,则返回true |
x && y | 与 | 只有x和y都为true,才返回true |
x || y | 或 | 如果x和y中至少一个为true,则返回true |
!x | 非 | 只有x不为true时返回true |
9.6 数组运算符
运算符 | 名称 | 描述 |
---|
x + y | 集合 | 返回x和y的集合 |
x == y | 相等 | 如果x和y具有相同的键值对,则返回true |
x === y | 恒等 | 如果x和y具有相同的键值对,且顺序相同类型相同,则返回true |
x != y | 不相等 | 如果x不等于y,则返回true |
x <> y | 不相等 | 如果x不等于y,则返回true |
x !== y | 不恒等 | 如果x不等于y,则返回true |
9.7 三元运算符
三元运算符? :
是一种条件运算符。语法格式如下:
(exp1) ? (exp2) : (exp3)
实例:
<?php
$test = 'Peng';
$username = isset($test) ? $test : 'nobody';
$username = $test ?: 'nobody';
?>
PHP 7+版本多了一个NULL合并运算符??
,实例如下:
<?php
$username = $_GET['user'] ?? 'nobody';
$username = isset($_GET['user']) ? $_GET['user'] : 'nobody';
?>
9.8 组合比较符
PHP 7+支持组合比较符,也称之为太空船操作符,符号为<=>
。组合比较运算符可以较为轻松地实现两个变量的比较,且不仅限于数值类数据的比较。语法格式如下:
$c = $a <=> $b;
解析:
- 如果a > b,则c的值为1.
- 如果a == b,则c的值为0.
- 如果a < b,则c的值为-1.
<?php
echo 1 <=> 1;
echo 1 <=> 2;
echo 2 <=> 1;
echo 1.5 <=> 1.5;
echo 1.5 <=> 2.5;
echo 2.5 <=> 1.5;
echo "a" <=> "a";
echo "a" <=> "b";
echo "b" <=> "a";
?>