php中的运算符
算数运算符
字符串运算符
赋值运算符
比较运算符
逻辑运算符
位运算符
其他运算符
运算符的优先级
运算符是可以通过给出的一或多个值(用编程行话来说,表达式)来产生另一个值(因而整个结构成为一个表达式)的东西。所以可以认为函数或任何会返回一个值(例如 print)的结构是运算符,而那些没有返回值的(例如 echo)是别的东西。 有三种类型的运算符: 一元运算符,只运算一个值,例如 !(取反运算符)或 ++(加一运算符)。 二元运算符,有两个操作数,PHP支持的大多数运算符都是这种。 三元运算符:? :。它应该被用来根据一个表达式在另两个表达式中选择一个,而不是用来在两个语句或者程序路线中选择。把整个三元表达式放在扩号里是个很好的主意。
1.算数运算符
运算符 | 意义 | 示例 | 结果 |
+ | 加法运算 | $a+$b | $a和$b的和 |
- | 减法/取负运算 | $a-$b | $a和$b的差 |
* | 乘法运算 | $a*$b | $a和$b的积 |
/ | 除法运算 | $a/$b | $a和$b的商 |
% | 求余运算符(取模运算) | $a%$b | $a和$b的余数 |
++ | 累加1 | $a++或++$a | $a的值加1 |
-- | 递减1 | $a--或--$a | $a的值减1 |
2.字符串运算符
在PHP中,有两个字符串运算符: 第一个是连接运算符(“.”),它返回其左右参数连接后的字符串。 第二个是连接赋值运算符(“.=”),它将右边参数附加到左边的参数后。
3.赋值运算符
基本的赋值运算符是“=”。一开始可能会以为它是“等于”,其实不是的。它实际上意味着把右边表达式的值赋给左边的运算数。
运算符 | 意义 | 示例 |
= | 将一个值或表达式的结果赋给变量 | $x=3 |
+= | 将变量与所赋的值相加后的结果赋给该变量 | $x+=3等价于$x=$x+3 |
-= | 将变量与所赋的值相减后的结果赋给该变量 | $x-=3等价于$x=$x-3 |
*= | 将变量与所赋的值相乘后的结果赋给该变量 | $x*=3等价于$x=$x*3 |
/= | 将变量与所赋的值相除后的结果赋给该变量 | $x/=3等价于$x=$x/3 |
%= | 将变量与所赋的值求模后的结果赋给该变量 | $x%=3等价于$x=$x%3 |
.= | 将变量与所赋的值相连后的结果赋给该变量 | $x.="H"等价于$x=$x."H" |
4.比较运算符
运算符 | 描述 | 说明 | 示例 |
> | 大于 | 当左边大于右边时返回true,否则返回false | $a>$b |
< | 小于 | 当左边小于右边时返回true,否则返回false | $a<$b |
>= | 大于等于 | 当左边大于等于右边时返回true,否则false | $a>=$b |
<= | 小于等于 | 当左边小于等于右边时返回true,否则false | $a<=$b |
== | 等于 | 两边操作数的值相等时返回true,否则false | $a==$b |
=== | 全等于 | 两边值相等并且类型相等返回true,否则false | $a===$b |
<>或!= | 不等于 | 两边值不等时返回true,否则返回false | $a<>$b $a!=$b |
!== | 非全等于 | 两边值与类型都相同时返回false,否则true | $a!==$b |
5.逻辑运算符
运算符 | 描述 | 说明 | 示例 |
and或&& | 逻辑与 | 当两边操作数都为true时,返回true,否则返回false | $a and $b $a && $b |
or或|| | 逻辑或 | 当两边操作数都为false时,返回false,否则返回true | $a or $b $a || $b |
not或! | 逻辑非 | 当操作数为true时返回false,否则返回true | not $b !$b |
xor | 逻辑异或 | 当两边操作数只有一个为true时,返回true,否则返回false | $a xor $b |
6.位运算符(用的极少)
运算 符 | 描述 | 说明 | 示例 |
& | 按位与 | 只有参与运算的两位都为1时,运算结果才为1,否则为0. | $a & $b |
| | 按位或 | 只有参与运算的两位都为0时,运算结果才为0,否则为1. | $a | $b |
^ | 按位异或 | 只有参与运算的两位不同,运算结果才为1,否则为0. | ^$b |
~ | 按位非 | 将用二进制表示的操作数中的1变成0,0变成1. | ~$a |
<< | 左移 | 将左边的操作数在内存中的二进制数据右移右边操作数指定的位数,右边移空的部分补上0 | $a<<$b |
>> | 右移 | 将左边的操作数在内存中的二进制数据左移右边操作数指定的位数,左边移空的部分补上0 | $a>>$b |
7.其他运算符
运算符 | 描述 | 示例 |
? : | 三元运算符,可以提供简单的逻辑判断。 | $a<$b?$c=1:$c=0 |
`` | 反引号(` `)是执行运算符,PHP将尝试将反引号中的内容作外壳命令来执行,并将其输入信息返回 | $a=`ls -al` |
@ | 错误控制运算符,当将其放置在一个PHP表达式之前,该表达式可能产生的任何错误信息都被忽略掉。 | @表达式 |
=> | 数组下标指定符号,通过此符号指定数组的键与值。 | 键=>值 |
-> | 对象成员访问符号,访问对象中的成员属性或成员方法。 | 对象->成员 |
instanceof | 类型运算符,用来测定一个给定的对象是否来自指定的对象类。 | 对象instanceof类名 |
8.可变变量
有时候使用可变变量名是很方便的。就是说,一个可变变量获取了一个普通变量的值作为这个可变变量的变量名。 例如:
9.变量的引用赋值
引用操作符&可以在关联赋值中使用,就像一个别名,使得变量都指向了内存的相同地址。
引用赋值的结果是,一个变量改变,另一个变量也会跟着变
可通过unset($a)重置变量与内存的关联