本章将介绍PHP的运算符。
运算符这个问题在每种语言里都有,因为我们已经熟悉了编程语言里的一种或是多种,所以只需要了解一下就行了。
概括一下吧。
PHP运算符有很多种,看样子要比C/C++,C#等语言多多了。分别是:
算术运算符
例子 |
名称 |
结果 |
-$a |
取反 |
$a 的负值。 |
$a + $b |
加法 |
$a 和 $b 的和。 |
$a - $b |
减法 |
$a 和 $b 的差。 |
$a * $b |
乘法 |
$a 和 $b 的积。 |
$a / $b |
除法 |
$a 除以 $b 的商。 |
$a % $b |
取模 |
$a 除以 $b 的余数。 |
位运算符
例子 |
名称 |
结果 |
$a & $b |
And(按位与) |
将把 $a 和 $b 中都为 1 的位设为 1。 |
$a | $b |
Or(按位或) |
将把 $a 或者 $b 中为 1 的位设为 1。 |
$a ^ $b |
Xor(按位异或) |
将把 $a 和 $b 中不同的位设为 1。 |
~ $a |
Not(按位非) |
将 $a 中为 0 的位设为 1,反之亦然。 |
$a << $b |
Shift left(左移) |
将 $a 中的位向左移动
$b 次(每一次移动都表示“乘以 |
$a >> $b |
Shift right(右移) |
将 $a 中的位向右移动
$b 次(每一次移动都表示“除以 |
比较运算符
例子 |
名称 |
结果 |
$a == $b |
等于 |
TRUE,如果 $a 等于 $b。 |
$a === $b |
全等 |
TRUE,如果 $a 等于 $b,并且它们的类型也相同。(PHP 4 引进) |
$a != $b |
不等 |
TRUE,如果 $a 不等于 $b。 |
$a <> $b |
不等 |
TRUE,如果 $a 不等于 $b。 |
$a !== $b |
非全等 |
TRUE,如果 $a 不等于 $b,或者它们的类型不同。(PHP 4 引进) |
$a < $b |
小与 |
TRUE,如果 $a 严格小于 $b。 |
$a > $b |
大于 |
TRUE,如果 $a 严格 $b。 |
$a <= $b |
小于等于 |
TRUE,如果 $a 小于或者等于 $b。 |
$a >= $b |
大于等于 |
TRUE,如果 $a 大于或者等于 $b。 |
递增/递减运算符
例子 |
名称 |
效果 |
++$a |
前加 |
$a 的值加一,然后返回 $a。 |
$a++ |
后加 |
返回 $a,然后将 $a 的值加一。 |
--$a |
前减 |
$a 的值减一, 然后返回 $a。 |
$a-- |
后减 |
返回 $a,然后将 $a 的值减一。 |
逻辑运算符
例子 |
名称 |
结果 |
$a and $b |
And(逻辑与) |
TRUE,如果 $a 与 $b 都为 TRUE。 |
$a or $b |
Or(逻辑或) |
TRUE,如果 $a 或 $b 任一为 TRUE。 |
$a xor $b |
Xor(逻辑异或) |
TRUE,如果 $a 或 $b 任一为 TRUE,但不同时是。 |
! $a |
Not(逻辑非) |
TRUE,如果 $a 不为 TRUE。 |
$a && $b |
And(逻辑与) |
TRUE,如果 $a 与 $b 都为 TRUE。 |
$a || $b |
Or(逻辑或) |
TRUE,如果 $a 或 $b 任一为 TRUE。 |
数组运算符
例子 |
名称 |
结果 |
$a + $b |
联合 |
$a 和 $b 的联合。 |
$a == $b |
相等 |
如果 $a 和 $b 具有相同的键/值对则为
TRUE。 |
$a === $b |
全等 |
如果 $a 和 $b 具有相同的键/值对并且顺序和类型都相同则为
TRUE。 |
$a != $b |
不等 |
如果 $a 不等于 $b 则为
TRUE。 |
$a <> $b |
不等 |
如果 $a 不等于 $b 则为
TRUE。 |
$a !== $b |
不全等 |
如果 $a 不全等于 $b 则为
TRUE。 |
1)如果包括“.”,“e”或“E”其中任何一个字符的话,字符串被当作 float 来求值。否则就被当作整数。
2)该值由字符串最前面的部分决定。如果字符串以合法的数字数据开始,就用该数字作为其值,否则其值为 0(零)。合法数字数据由可选的正负号开始,后面跟着一个或多个数字(可选地包括十进制分数),后面跟着可选的指数。指数是一个“e”或者“E”后面跟着一个或多个数字。例如:
输出的结果是:
如果激活了 track_errors 特性,表达式所产生的任何错误信息都被存放在变量 $php_errormsg 中。此变量在每次出错时都会被覆盖,所以如果想用它的话就要尽早检查。例如:
PHP 支持 C 风格的前/后递增与递减运算符。
注: 递增/递减运算符不影响布尔值。递减 NULL 值也没有效果,但是递增 NULL 的结果是 1。
递增/递减运算符
例子 | 名称 | 效果 |
---|---|---|
++$a | 前加 | $a 的值加一,然后返回 $a。 |
$a++ | 后加 | 返回 $a,然后将 $a 的值加一。 |
--$a | 前减 | $a 的值减一, 然后返回 $a。 |
$a-- | 后减 | 返回 $a,然后将 $a 的值减 |
PHP 有一个类型运算符:instanceof。instanceof 用来测定一个给定的对象是否来自指定的对象类。
instanceof 运算符是 PHP 5 引进的。在此之前用 is_a(),但是 is_a() 已经过时了,最好用 instanceof。
原文:http://www.cnblogs.com/lonelyxmas/p/4140589.html