運算元 | 用法 | 說明 |
---|---|---|
+ | $a + $b | 加法運算 |
- | $a - $b | 減法運算 |
* | $a * $b | 乘法運算 |
/ | $a / $b | 除法運算 |
% | $a % $b | 模數運算(取餘數) |
★ 指定運算元(Assignment Operators)
運算元 | 用法 | 說明 |
---|---|---|
= | $a = 5 | $a 為 5 |
.= | $a .= "abc" | $a 字串末尾再串接 abc |
+= | $a += 3 | $a 等於 $a 加上 3 之和 |
-= | $a -= 3 | $a 等於 $a 減去 3 之差 |
*= | $a *= 3 | $a 等於 $a 乘以 3 之積 |
/= | $a /= 3 | $a 等於 $a 除以 3 之商 |
%= | $a %= 3 | $a 等於 $a 除以 3 之餘數 |
運算元 | 用法 | 說明 |
---|---|---|
& | $a & $b | 且(AND) |
| | $a | $b | 或(OR) |
^ | $a ^ $b | 互斥(XOR) |
~ | ~$a | 否(NOT) |
>> | $a >> $b | 向右移位 |
<< | $a << $b | 向左移位 |
運算元 | 用法 | 說明 |
---|---|---|
= = | $a = = $b | 等於 |
= = = | $a = = = $b | Identical(值與型態均相等,PHP4 only) |
! = = | $a ! = = $b | Not Identical(值或型態不相等,PHP4 only) |
!= 或 <> | $a != $b | 不等於 |
< | $a < $b | 小於 |
> | $a > $b | 大於 |
<= | $a <= $b | 小於等於 |
>= | $a >= $b | 大於等於 |
例:
<?
$a = 6;
$b = ( $a > 0 ) ? 5 : 10;
echo $b; // $b 值為 5
// 另一種寫法:
$a = 6;
( $a > 0 ) ? $b = 5 : $b = 10;
echo $b; // $b 值為 5
// if ... else 寫法:
$a = 6;
if ( $a > 0 )
$b = 5;
else
$b = 10;
echo $b; // $b 值為 5
?>
★ 錯誤控制運算元(Error Control
Operators) PHP 提供一個錯誤控制運算元「@」,在運算式中如果含有它,則所有的錯誤訊息均會被忽略。
★ 執行運算元(Execution Operators) PHP 支援 backticks(``)(倒單引號,在鍵盤上「數字
1」的左側)的執行運算,在裡頭的字串將被視為 shell command 來執行,而執行的輸出就是「值」,可以設定給其他變數。
例:
<?
// 列出 example 目錄下的檔案與目錄
$output = `ls -al example`;
echo "<pre>$output</pre>";
?>
執行結果:
Warning: shell_exec(): Cannot execute using backquotes in Safe Mode in
/home/chensh/php/A_7.php on line 224
註:由於 backticks 的執行運算,在 PHP 的 Safe Mode 為 ON 時是無用的;若上述的範例呈現錯誤的話,代表本站所在的伺服器已將 Safe Mode 設定為 ON 了。
★ 遞增/遞減運算元(Incrementing/Decrementing
Operators)
運算元 | 用法 | 說明 |
---|---|---|
++ | ++$a | Pre-increment(先加 1 再傳回值) |
$a++ | Post-increment(先傳回值再加 1) | |
- - | - -$a | Pre-decrement(先減 1 再傳回值) |
$a- - | Post-decrement(先傳回值再減 1) |
運算元 | 用法 | 說明 |
---|---|---|
and | $a and $b | 且(AND) |
&& | $a && $b | 且(AND) |
or | $a or $b | 或(OR) |
|| | $a || $b | 或(OR) |
xor | $a xor $b | 互斥(XOR) |
! | !$a | 否(NOT) |
運算元 | 結合規則 |
---|---|
, | left |
or | left |
xor | left |
and | left |
right | |
= += -= *= /= .= %= &= |= ^= ~= <<= >>= | left |
? : | left |
|| | left |
&& | left |
| | left |
^ | left |
& | left |
= = != = = = != = | non-associative |
< <= > >= | non-associative |
<< >> | left |
+ - . | left |
* / % | left |
! ~ ++ -- (int) (double) (string) (array) (object) @ | right |
[ | right |
new | non-associative |
歡迎光臨 資訊家電班NO7 (http://imce07.freehostia.com/forums/) | Powered by Discuz! 7.2 |