算术运算符是用来进行四则运算的符号:
| 算术运算符 | 说明 | 实例 | 
|---|---|---|
| + | 加法 | $a+$b | 
| - | 减法 | $a-$b | 
| * | 乘法 | $a*$b | 
| / | 除法 | $a%$b | 
| % | 取余数 | $a%$b,得到相除的余数 | 
“.”:表示两个字符串相连接
<?php
$a = "asd";
$b = "fgh";
echo $a.$b;  //输出的结果是 "asdfgh"
?>“=”:表示把右边的值赋值给左边的变量
| 组合运算符 | 说明 | 实例 | 
|---|---|---|
| .= | 把右边的字符加到左边 | $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 | 
| 运算符 | 说明 | 实例 | 
|---|---|---|
| & | 按位与 | 一假则假 | 
| 按位或 | 按位或 | 一真则真 | 
| ^ | 按位异或 | 相同为真 | 
| ~ | 按位取反 | ~0=1 | 
| << | 向左移动 | $a<<$b,每移动一次,值乘以2 | 
| >> | 向右移动 | $a>>$b,每移动一次,值除以2 | 
| 运算符 | 名称 | 示例 | 
|---|---|---|
| ++$x | 前置递增 | $x=5;echo++$x; 表示变量x先加1,再返回结果值,显示结果为6 | 
| –$x | 前置递减 | $x=5;echo–$x; 表示变量x先减1,再返回结果值,显示结果为4 | 
| $x++ | 后置递增 | $x=5;echo$x++; 表示变量x先返回结果值,再加1,显示结果为5 | 
| $x– | 后置递减 | $x=5;echo$x–; 表示变量x先返回结果值,再减1,显示结果为5 | 
| 运算符 | 名称 | 实例 | 
|---|---|---|
| and | 与 | $a and $b 当a,b都为true时,结果为true | 
| or | 或 | $a or $b 当a,b其中有一个为true,结果为true | 
| xor | 异或 | 当a,b两结果不同时结果为true | 
| && | 与 | $a&&$b 当a,b都为true时,结果为true | 
| 或 | 或 | |
| ! | 非 | !$m 当$m为真时,返回结果为假 | 
| 运算符 | 说明 | 实例 | 
|---|---|---|
| == | 等于 | 比较数值是否相等 | 
| === | 全等于 | 比较数值和类型是否相等 | 
| != | 不等于 | 比较数值是否不等 | 
| !== | 全不等 | 比较数值和类型是否全不等 | 
| > | 大于 | |
| < | 小于 | |
| >= | 大于等于 | |
| <= | 小于等于 | |
| <> | 不等于 | |
| <=> | 组合比较符 | a>b返回1,a=b返回0,a<b返回-1 | 
| ?? | 空合并符 | 返回从左到右第一个不为NULL的变量 | 
基本语法:
表达式1? 表达式2:表达式3若表达式为true,则运行表达式2,否则运行表达式3
实例:
<?php
$a =50
echo($a ==true)?"yes":"no"
?>@为错误运算符,加在表达式前边,则表达式的错误会被忽略。
@只对表达式有效:
只能放在变量、常量、函数和include调用之前等。不能用在函数和类定义之前以及条件结构之前使用
| 优先级 | 运算符 | 结合方向 | 
|---|---|---|
| 1 | clone、new | 无 | 
| 2 | ** | 右 | 
| 3 | ++ – ~ (int) (float) (array) (string) (object) (bool) @ | 右 | 
| 4 | instanceof | 无 | 
| 5 | ! | 右 | 
| 6 | * / % | 左 | 
| 7 | + - . | 左 | 
| 8 | << >> | 左 | 
| 9 | < <= > >= | 无 | 
| 10 | == === != !== | 无 | 
| 11 | & | 无 | 
| 12 | ^ | 无 | 
| 13 | 按位或 | 左 | 
| 14 | 或 && | 左 | 
| 15 | ?: ?? | 左 | 
| 16 | = += -= = /= *= %= &= ^= <<= >>= | 右 | 
| 17 | and or xor | 左 |