簡介:這是PHP學習筆記 (3)--運算子的詳細頁面,介紹了和php,有關的知識、技巧、經驗,和一些php源碼等。
class='pingjiaF' frameborder='0' src='http://biancheng.dnbcw.info/pingjia.php?id=338926' scrolling='no'>
PHP學習筆記 (3)-運算子
一、算術運算子
1、運算子優先順序:
先算乘除後算加減,遇到括弧先算括弧內
如果運算子優先順序相同,則使用從左至右的左聯順序。
從高到低列出了運算子的優先順序。同一行中的運算子具有相同優先順序,此時它們的結合方向決定求值順序
例子 名稱 結果
-$a 取反 $a 的負值。
$a + $b 加法 $a 和 $b 的和。
$a - $b 減法 $a 和 $b 的差。
$a * $b 乘法 $a 和 $b 的積。
$a / $b 除法 $a 除以 $b 的商。
$a % $b 模數 $a 除以 $b 的餘數。
<?php $a=10;$b=20;echo -$a; //取反 $a 的負值。 -10echo "<br/>";echo $a+$b; //加法 $a 和 $b 的和。 30echo "<br/>";echo $a-$b; //減法 $a 和 $b 的差。 -10echo "<br/>";echo $a*$b; //乘法 $a 和 $b 的積。 200echo "<br/>";echo $a / $b; //除法 $a 除以 $b 的商。 0.5echo "<br/>";echo $a % $b; //模數 $a 除以 $b 的餘數。 10echo "<br/>";?>
二、賦值運算子
基本的賦值運算子是“=”。一開始可能會以為它是“等於”,其實不是的;它實際上是把右邊運算式的值賦給左邊的運算數。
<?php $a=10;$b=20;echo $a += $b; //等同於 $a = $a + $b 10+20=30echo "<br/>";echo $a -= $b; //等同於$a = $a - $b 30-20=10echo "<br/>";echo $a *= $b; //等同於$a = $a * $b 10*20=200echo "<br/>";echo $a /= $b; //等同於$a = $a / $b 200/20=10echo "<br/>";echo $a %= $b; //等同於$a = $a % $b 10%20=10echo "<br/>";//See the String Operators page echo $a .= $b; //等同於$a = $a . $b 10.20=1020echo "<br/>";$a=true;$b=false;//See the Bitwise Operators page echo $a &= $b; //等同於$a = $a & $b 0 true&false=falseecho "<br/>";echo $a |= $b; //等同於$a = $a | $b 0 false|false=falseecho "<br/>";echo $a ^= $b; //等同於$a = $a ^ $b 0 false^false=falseecho "<br/>";$a=1;$b=2;echo $a <<= $b; //等同於$a = $a << $b 1<<2=4echo "<br/>";echo $a >>= $b; //等同於$a = $a >> $b 4>>2=1echo "<br/>";?>
三、比較子
比較運算就是兩個值進行比較,體現兩個數之間的關係。
例子 名稱 結果
$a == $b 等於 TRUE, 如果 $a 等於 $b。
$a === $b 全等 TRUE, 如果 $a 等於 $b,並且它們的類型也相同。
$a != $b 不等 TRUE, 如果 $a 不等於 $b。
$a <> $b 不等 TRUE, 如果 $a 不等於 $b。
$a !== $b 非全等 TRUE, 如果 $a 不等於 $b,或者它們的類型不同。
$a < $b 小與 TRUE, 如果 $a 嚴格小於 $b。
$a > $b 大於 TRUE, 如果 $a 嚴格 $b。
$a <= $b 小於等於 TRUE, 如果 $a 小於或者等於 $b。
$a >= $b 大於等於 TRUE, 如果 $a 大於或者等於 $b。
<?php $a=10;$b=10;echo $a== $b; //$a==$b嗎? 10==10 返回1 Trueecho "<br/>";echo $a === $b; //$a===$b嗎? 10===10 返回1 Trueecho "<br/>"; $b="10";echo $a === $b; //$a===$b嗎? 10==="10" 返回空 false 比較兩資料,不但比較資料值還有比較資料類型;echo "<br/>"; $A=10;$B=20;echo $A!=$B; //$a 不等於 $b 10!=20 返回1 True echo "<br/>"; echo $A<>$B; //$a 不等於 $b 100<>20 返回1 True echo "<br/>"; echo $A!==$B; //$a 不等於 $b,或者它們的類型不同。10!==20 返回1 Trueecho "<br/>"; $C="10";echo $A!==$C; //非全等 $a 不等於 $b,或者它們的類型不同。10!=="10" 返回空 falseecho "<br/>"; echo $A<$B; // $a 嚴格小於 $b 10<20 返回1 Trueecho "<br/>"; echo $A>$B; // $a 嚴格小於 $b 10>20 返回空 falseecho "<br/>"; echo $A<=$B; // $a 小於或者等於 $b 10<=20 返回1 Trueecho "<br/>"; echo $A>=$B; // $a 大於或者等於 $b 10>=20 返回空 falseecho "<br/>"; ?>
四、邏輯運算子
例子 名稱 結果
$a and $b And(邏輯與) TRUE,如果 $a 與 $b 都為 TRUE。
$a or $b Or(邏輯或) TRUE,如果 $a 或 $b 任一為 TRUE。
$a xor $b Xor(邏輯異或) TRUE,如果 $a 或 $b 任一為 TRUE,但不同時是。
! $a Not(邏輯非) TRUE, 如果 $a 不為 TRUE。
$a && $b And(邏輯與) TRUE,如果 $a 與 $b 都為 TRUE。
$a || $b Or(邏輯或) TRUE,如果 $a 或 $b 任一為 TRUE。
<?php $a=true;$b=false; echo "And(邏輯與)"; //TRUE,如果 $a 與 $b 都為 TRUEecho $a and $b; //返回 空 false;echo "Or(邏輯或)"; //TRUE,如果 $a 與 $b 都為 TRUEecho $a or $b; //返回 1 TRUE;echo "Xor(邏輯異或)"; //TRUE,如果 $a 或 $b 任一為 TRUE,但不同時是echo $a xor $b; //返回 1 TRUE;echo "Not(邏輯非)"; //TRUE, 如果 $a 不為 TRUEecho !$a; //返回 空 false;echo "And(邏輯與)"; //TRUE,如果 $a 與 $b 都為 TRUEecho $a && $b; //返回 空 false;echo "Or(邏輯或)"; //TRUE,如果 $a 或 $b 任一為 TRUEecho $a || $b; //返回 1 TRUE;?>
五、遞增/遞減運算子
只操作變數的一種運算
遞增/遞減運算子不影響布爾值。遞減 NULL 值也沒有效果,但是遞增 NULL 的結果是 1。
例子 名稱 效果
++$a 前加 $a 的值加一,然後返回 $a。
$a++ 後加 返回 $a,然後將 $a 的值加一。
--$a 前減 $a 的值減一, 然後返回 $a。
$a-- 後減 返回 $a,然後將 $a 的值減一。
<?php $a=1; echo "前加"; //$a 的值加一,然後返回 $aecho ++$a; //顯示值 2 $a=1;echo "後加"; //返回 $a,然後將 $a 的值加一echo $a++; //顯示值 1 $a=2;echo "前減"; //$a 的值減一, 然後返回 $aecho --$a; //顯示值 1 $a=2;echo "前減"; //$返回 $a,然後將 $a 的值減一echo $a--; //顯示值 2 ?>
六、位元運算符
位元運算符允許對整型數中指定的位進行置位。如果左右參數都是字串,則位元運算符將操作字元的 ASCII 值。
在 32 位系統上不要右移超過 32 位。不要在結果可能超過 32 位的情況下左移。
例子 名稱 結果
$a & $b And(按位與) 將把 $a 和 $b 中都為 1 的位設為 1。
$a | $b Or(按位或) 將把 $a 或者 $b 中為 1 的位設為 1。
$a ^ $b Xor(按位異或) 將把 $a 和 $b 中不同的位設為 1。
~ $a Not(按位非) 將 $a 中為 0 的位設為 1,反之亦然。
$a << $b Shift left(左移) 將 $a 中的位向左移動 $b 次(每一次移動都表示“乘以 2”)。
$a >> $b Shift right(右移) 將 $a 中的位向右移動 $b 次(每一次移動都表示“除以 2”)。
<?php $a=1; $b=1;echo "<br/>And(按位與)"; //將把 $a 和 $b 中都為 1 的位設為 1echo $a&$b; //顯示值 1echo "<br/>Or(按位或)"; //將把 $a 或者 $b 中為 1 的位設為 1echo $a|$b; //顯示值 1echo "<br/> Xor(按位異或)";//將把 $a 和 $b 中不同的位設為 1echo $a^$b; //顯示值 0echo "<br/>Not(按位非)"; //將 $a 中為 0 的位設為 1,反之亦然echo ~$a; //顯示值 -2echo "<br>Shift left(左移)";//將 $a 中的位向左移動 $b 次(每一次移動都表示“乘以 2”)echo $a<<$b; //顯示值 2echo "<br/>Shift right(右移)";//將 $a 中的位向右移動 $b 次(每一次移動都表示“除以 2”)。echo $a>>$b; //顯示值 0?>
(學習筆記,理解膚淺。只供學習參考,如果不足敬請諒解)
愛J2EE關注Java邁克爾傑克遜視頻站JSON線上工具
http://biancheng.dnbcw.info/php/338926.html pageNo:8