分类:
2008-04-18 08:14:14
不同的运算符号,其实还是有优先顺序,就像小时候在学数学时,老师会教:先乘除、后加减。在 php 的运算优先顺序可以参考下面的表格,在混合式的情形下,愈往下表示优先权愈高。至于符号代表的意义,散见于以下的章节中。
,左至右or左至右xor左至右and左至右.= &= |= /= %= ^= = += -= *=左至右? :左至右||左至右&&左至右|左至右^左至右&左至右== !=不限< <= >= >不限<< >>左至右+ - .左至右* / %左至右! ~ ++ -- @右至左[]右至左
运算符号 | 结合规则 |
---|
就像先哲说的?:物有本末、事有终始,知所先后,则近道矣,在运算时只要照着运算优先顺序写出来的程序,应该不会发生结果和预期不同的情形。在写作时多注意细节,可以减少调试的痛苦!
<小于>大于<=小于或等于>=大于或等于==等于!=不等于&&而且 (and)and而且 (and)||或者 (or)or或者 (or)xor异或 (xor)!不 (not)
符号 | 意义 |
---|
$a = 5;
if ($a != 5) {
echo "$a 不是 5";
} else {
echo "$a 是 5";
}
?>
php 的位运算子 (bitwise operators) 共有六个,提供数字做一些快速而低阶的运算。要了解更多有关位运算的信息,可以参考离散数学方面的书籍。
&且 (and)|或 (or)^异或 (xor)<<向左移位>>向右移位~取 1 的补数
符号 | 意义 |
---|
=将右边的值连到左边+=将右边的值加到左边-=将右边的值减到左边*=将左边的值乘以右边/=将左边的值除以右边%=将左边的值对右边取余数.=将右边的字符串加到左边
符号 | 意义 |
---|
$a = 5;
$a += 2; // 即 $a = $a + 2;
echo $a."
\n";
$b = "哇";
$b .= "哈"; // $b = "哇哈";
$b .= "哈"; // $b = "哇哈哈";
echo "$b
\n";
?>
以下是字符串运算的例子
$a = "php 4";
$b = "功能强大";
echo $a.": ".$b;
?>
+加法运算-减法运算*乘法运算/除法运算%取余数++累加--递减
符号 | 意义 |
---|
以下为简单的算术运算范例
$a = 8;
$b = 2;
$c = 3;
echo $a+$b."
\n";
echo $a-$b."
\n";
echo $a*$b."
\n";
echo $a/$b."
\n";
echo $a%$c."
\n";
$a++;
echo $a."
\n";
$c--;
echo $c;
?>
其它运算符号
除了上述的运算符号之外,还有一些运算符号难以归类。
$变量
&变量的地址 (加在变量前)
@不显示错误信息 (加在函数前)-
>类的或者属性
=>数组的元素值
? :三元运算子
符号 | 意义 |
---|
其中比较特殊的是三元运算子 ? :,以下例来解释
(expr1) ? (expr2) : (expr3);
若 expr1 的运算结果为 true,则执行 expr2;否则执行 expr3。实际上它有点类以 if...else 循环,但可以让程序较精简有效率。