算术运算符是用来进行四则运算的符号:
算术运算符 | 说明 | 实例 |
---|---|---|
+ | 加法 | $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 | 左 |