在php中我們常用的運算子包括有算數運算子、賦值運算子、比較子、邏輯運算子 等等下面我來給各位朋友介紹用法。
算數運算子
除法運算子總是返回浮點數。只有在下列情況例外:兩個運算元都是整數(或字串轉換成的整數)並且正好能整除,這時它返回一個整數。
模數運算子的運算元在運算之前都會轉換成整數(除去小數部分)。
Note: 模數 $a % $b 在 $a 為負值時的結果也是負值。
例:
| 代碼如下 |
複製代碼 |
/* tested under PHP 5.2.6-1 with Suhosin-Patch 0.9.6.2 (cli) on both i386 and amd64, Debian lenny/sid */ $a = 2863311530; $b = 256; $c = $a % $b; echo "$c n"; echo (2863311530 % 256)." n"; /* directly with no variables, just to be sure */ ?> |
| 運算子 |
說明 |
例子 |
結果 |
| + |
Addition |
x=2 x+2 |
4 |
| - |
Subtraction |
x=2 5-x |
3 |
| * |
Multiplication |
x=4 x*5 |
20 |
| / |
Division |
15/5 5/2 |
3 2.5 |
| % |
Modulus (division remainder) |
5%2 10%8 10%2 |
1 2 0 |
| ++ |
Increment |
x=5 x++ |
x=6 |
| -- |
Decrement |
x=5 x-- |
x=4 |
賦值運算子
基本的賦值運算子是“=”。一開始可能會以為它是“等於”,其實不是的。它實際上意味著把右邊運算式的值賦給左邊的運算數。
賦值運算運算式的值也就是所賦的值。也就是說,“$a = 3”的值是 3。這樣就可以做一些小技巧:
| 代碼如下 |
複製代碼 |
$a = ($b = 4) + 5; // $a 現在成了 9,而 $b 成了 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!"; ?> |
注意賦值運算將原變數的值拷貝到新變數中(傳值賦值),所以改變其中一個並不影響另一個。這也適合於在很密集的迴圈中拷貝一些值例如大數組。也可以使用引用賦值,用 $var = &$othervar; 文法。引用賦值意味著兩個變數都指向同一個資料,沒有任何資料的拷貝。有關引用的更多資訊見引用的說明。在 PHP 5中,對象總是通過引用賦值的,除非明確使用新的 clone關鍵字
| 運算子 |
說明 |
例子 |
| = |
x=y |
x=y |
| += |
x+=y |
x=x+y |
| -= |
x-=y |
x=x-y |
| *= |
x*=y |
x=x*y |
| /= |
x/=y |
x=x/y |
| .= |
x.=y |
x=x.y |
| %= |
x%=y |
x=x%y |
比較子
比較子,如同它們名稱所暗示的,允許對兩個值進行比較。如果比較一個整數和字串,則字串會被轉換為整數。如果比較兩個數字字串,則作為整數比較。此規則也適用於 switch 語句。
| 代碼如下 |
複製代碼 |
var_dump(0 == "a"); // 0 == 0 -> true var_dump("1" == "01"); // 1 == 1 -> true var_dump("1" == "1e0"); // 1 == 1 -> true switch ("a") { case 0: echo "0"; break; case "a": // never reached because "a" is already matched with 0 echo "a"; break; } ?> |
| 運算子 |
說明 |
例子 |
| == |
is equal to |
5==8 returns false |
| != |
is not equal |
5!=8 returns true |
| > |
is greater than |
5>8 returns false |
| < |
is less than |
5<8 returns true |
| >= |
is greater than or equal to |
5>=8 returns false |
| <= |
is less than or equal to |
5<=8 returns true |
邏輯運算子
“與”和“或”有兩種不同形式運算子的原因是它們運算的優先順序不同(見運算子優先順序)。
Example #1 邏輯運算子樣本
| 代碼如下 |
複製代碼 |
// 下面的 foo() 不會被調用,因為它們被運算子“短路”了。 $a = (false && foo()); $b = (true || foo()); $c = (false and foo()); $d = (true or foo()); // "||" 的優先順序比 "or" 高 $e = false || true; // $e 被賦值為 (false || true),結果為 true $f = false or true; // $f 被賦值為 false [Altair註:"=" 的優先順序比 "or" 高] var_dump($e, $f); // "&&" 的優先順序比 "and" 高 $g = true && false; // $g 被賦值為 (true && false),結果為 false $h = true and false; // $h 被賦值為 true [Altair註:"=" 的優先順序比 "and" 高] var_dump($g, $h); ?> 以上常式的輸出類似於: bool(true) bool(false) bool(false) bool(true) |
| 運算子 |
說明 |
例子 |
| && |
and |
x=6 y=3 (x < 10 && y > 1) returns true |
| || |
or |
x=6 y=3 (x==5 || y==5) returns false |
| ! |
not |
x=6 y=3 !(x==y) returns true |
http://www.bkjia.com/PHPjc/628919.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/628919.htmlTechArticle在php中我們常用的運算子包括有算數運算子、賦值運算子、比較子、邏輯運算子 等等下面我來給各位朋友介紹用法。 算數運算子 除法...