站长资讯网
最全最丰富的资讯网站

@PHP中的运算符(1)

本文讲述了PHP运算符的几个种类:算术运算符,赋值运算符,位运算符,比较运算符,错误控制运算符,执行运算符,加一/减一运算符,逻辑运算符,字符串运算符,数组运算符等等。

AD:

运算符优先级

运算符优先级指定了两个表达式绑定得有多“紧密”。例如,表达式 1 + 5 * 3 的结果是 16 而不是 18 是因为乘号(“*”)的优先级比加号(“+”)高。必要时可以用括号来强制改变优先级。例如:(1 + 5) * 3 的值为 18。

下表从低到高列出了运算符的优先级。

运算符优先级

结合方向 运算符
,
or
xor
and
print
= += -= *= /= .= %= &= |= ^= ~= <<= >>=
? :
||
&&
|
^
&
== != === !==
< <= > >=
<< >>
+ – .
* / %
! ~ ++ — (int) (float) (string) (array) (object) @
[
new

注: 尽管 ! 比 = 的优先级高,PHP 仍旧允许类似如下的表达式:if (!$a = foo()),在此例中 foo() 的输出被赋给了 $a。

算术运算符

还记得学校里学到的基本数学知识吗?就和它们一样。

算术运算符

例子 名称 结果
$a + $b 加法 $a 和 $b 的和。
$a – $b 减法 $a 和 $b 的差。
$a * $b 乘法 $a 和 $b 的积。
$a / $b 除法 $a 除以 $b 的商。
$a % $b 取模 $a 除以 $b 的余数。

除号(“/”)总是返回浮点数,即使两个运算数是整数(或由字符串转换成的整数)也是这样。

赋值运算符

基本的赋值运算符是“=”。你一开始可能会以为它是“等于”,其实不是的。它实际上意味着把右边表达式的值赋给左运算数。

赋值运算表达式的值也就是所赋的值。也就是说,“$a = 3”的值是 3。这样就可以使你做一些小技巧:

$a = ($b = 4) + 5; // $a is equal to 9 now, and $b has been set to 4.  

在基本赋值运算符之外,还有适合于所有二元算术和字符串运算符的“组和运算符”,这可以让你在一个表达式中使用它的值并把表达式的结果赋给它,例如:

$a = 3; $a += 5; // sets $a to 8, as if we had said: $a = $a + 5; $b = "Hello "; $b .= "There!"; // sets $b to "Hello There!", just like $b = $b . "There!"; 

注意赋值运算将原变量的值拷贝到新变量中(传值赋值),所以改变其中一个并不影响另一个。这也适合于你在在紧密循环中拷贝一些值例如大数值。PHP 4 支持引用赋值,用 $var = &$othervar; 语法,但在 PHP 3 中不可能这样做。“引用赋值”意味着两个变量都指向同一个数据,没有任何数据的拷贝。

赞(0)
分享到: 更多 (0)
网站地图   沪ICP备18035694号-2    沪公网安备31011702889846号