4.6 运算符
PHP包含三种类型的运算符,即一元运算符、二元运算符和三元运算符。一元运算符用在一个操作数之前,二元运算符用在两个操作数之间,三元运算符是作用在三个操作数之间。
4.6.1 算术运算符
算术运算符最简单,也是最常用的运算符。常见的算术运算符如表4-1所示。
运算符 | 含义 |
+ | 加法运算 |
- | 减法运算 |
* | 乘法运算 |
/ | 除法运算 |
% | 取余运算 |
++ | 自加运算 |
-- | 自减运算 |
【例4.14】(实例文件:ch04\4.14.php)
<HTML> <HEAD> <title>算术运算符</title> </HEAD> <BODY> <?php $a=13; $b=2; echo $a."+".$b."="; echo $a+$b."<br>"; echo $a."-".$b."="; echo $a-$b."<br>"; echo $a."*".$b."="; echo $a*$b."<br>"; echo $a."/".$b."="; echo $a/$b."<br>"; echo $a."%".$b."="; echo $a%$b."<br>"; echo $a."++"."="; echo $a++."<br>"; echo $a."--"."="; echo $a--."<br>"; ?> </BODY> </HTML>
本程序运行结果如图4-14所示。
提 示
除了数值可以进行自增运算外,字符也可以进行自增运算,例如b++结果将等于c。
4.6.2 字符串运算符
字符运算符把两个字符串连接起来变成一个字符串的运算符,使用“.”来完成。如果变量是整型或浮点型,PHP也会自动把它们转换为字符输出。
【例4.15】(实例文件:ch04\4.15.php)
<HTML> <HEAD> <TITLE>算术运算符</TITLE> </HEAD> <BODY> <?php $a = "把两个字符串"; $b = 10.25; echo $a."连接起来,".$b."天。"; ?> </BODY> </HTML>
本程序运行结果如图4-15所示。
4.6.3 赋值运算符
赋值运算符的作用是把一定的数据值加载给特定变量。
赋值运算符的具体含义如表4-2所示。
运算符 | 含义 |
= | 将右边的值赋给左边的变量 |
+= | 将左边的值加上右边的值赋给左边的变量 |
-= | 将左边的值减去右边的值赋给左边的变量 |
*= | 将左边的值乘以右边的值赋给左边的变量 |
/= | 将左边的值除以右边的值赋给左边的变量 |
.= | 将左边的字符串连接到右边 |
%= | 将左边的值对右边的值取余数赋给左边的变量 |
例如,$a-=$b等价于$a=$a-$b,其他赋值运算符与之类似。从表4-2可以看出,赋值运算符可以使程序更加简洁,从而提高执行效率。
4.6.4 比较运算符
比较运算符用来比较其两端数据值的大小。比较运算符的具体含义如表4-3所示。
运算符 | 含义 |
== | 相等 |
!= | 不相等 |
> | 大于 |
< | 小于 |
>= | 大于等于 |
<= | 小于等于 |
=== | 精确等于(类型) |
!== | 不精确等于 |
4.6.5 逻辑运算符
一个编程语言最重要的功能之一就是要进行逻辑判断和运算,如逻辑和、逻辑或、逻辑否。逻辑运算符的含义如表4-4所示。
运算符 | 含义 |
&& | 逻辑和 |
AND | 逻辑和 |
|| | 逻辑或 |
OR | 逻辑或 |
! | 逻辑否 |
NOT | 逻辑否 |
XOR | 绝对逻辑或 |
4.6.6 按位运算符
按位运算符是通过把整数以位为单位来进行处理。按位运算符的含义如表4-5所示。
运算符 | 含义 |
& | 按位和 |
| | 按位或 |
^ | 按位绝对或 |
4.6.7 否定控制运算符
否定控制运算符用在操作数之前,用于对操作数值的真假进行判断。它包含一个逻辑否定运算符和一个按位否定运算符。否定控制运算符含义如表4-6所示。
运算符 | 含义 |
! | 逻辑否 |
~ | 按位否 |
4.6.8 错误控制运算符
错误控制运算符是用“@”来表示。在一个操作数之前使用,用来屏蔽错误信息的生成。
4.6.9 三元运算符
三元运算符是作用在三个操作数之间的。这样的操作符在PHP中只有一个,即“?:”。
4.6.10 运算符的优先级和结合规则
运算符的优先级和结合的规则其实与正常的数学运算符十分相似。
(1)加减乘除的先后顺序同数学运算中的完全一致。
(2)对于括号,则先运行括号内再运行括号外。
(3)对于赋值,则由右向左运行,即值依次从右边向左边的变量进行赋值。