萬盛學電腦網

 萬盛學電腦網 >> 網絡編程 >> php編程 >> php中運算符基本介紹

php中運算符基本介紹

在php中我們常用的運算符包括有算數運算符、賦值運算符、比較運算符、邏輯運算符 等等下面我來給各位朋友介紹用法。
除法運算符總是返回浮點數。只有在下列情況例外:兩個操作數都是整數(或字符串轉換成的整數)並且正好能整除,這時它返回一個整數。
取模運算符的操作數在運算之前都會轉換成整數(除去小數部分)。
Note: 取模 $a % $b 在 $a 為負值時的結果也是負值。
例:


 代碼如下
復制代碼



<?php
/* 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 <br />n";
echo (2863311530 % 256)." <br />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。這樣就可以做一些小技巧:


 代碼如下
復制代碼



<?php
$a = ($b = 4) + 5; // $a 現在成了 9,而 $b 成了 4。
?>



在基本賦值運算符之外,還有適合於所有二元算術,數組集合和字符串運算符的“組合運算符”,這樣可以在一個表達式中使用它的值並把表達式的結果賦給它,例如:


 代碼如下
復制代碼



<?php
$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 語句。


 代碼如下
復制代碼



<?php
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 邏輯運算符示例


 代碼如下
復制代碼



<?php
// 下面的 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






copyright © 萬盛學電腦網 all rights reserved