位運算符:位運算符允許對整型數中指定的位進行置位,如果左右參數都是字符串,則位運算符將操作字符的 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 的位設為 1
- echo $a&$b; //顯示值 1
- echo "<br/>Or(按位或)"; //將把 $a 或者 $b 中為 1 的位設為 1
- echo $a|$b; //顯示值 1
- echo "<br/> Xor(按位異或)";//將把 $a 和 $b 中不同的位設為 1
- echo $a^$b; //顯示值 0
- echo "<br/>Not(按位非)"; //將 $a 中為 0 的位設為 1,反之亦然
- echo ~$a; //顯示值 -2
- echo "<br>Shift left(左移)";//將 $a 中的位向左移動 $b 次(每一次移動都表示“乘以 2”)
- echo $a<<$b; //顯示值 2
- echo "<br/>Shift right(右移)";//將 $a 中的位向右移動 $b 次(每一次移動都表示“除以 2”)。
- echo $a>>$b; //顯示值 0
- ?>
位運算符允許對整型數中指定的位進行置位,如果左右參數都是字符串,則位運算符將操作字符的 ASCII 值.
- <?php
- echo 12 ^ 9; // 輸出為 '5'
- echo "12" ^ "9"; // 輸出退格字符(ascii 8)
- // ('1' (ascii 49)) ^ ('9' (ascii 57)) = #8
- echo "hallo" ^ "hello"; // 輸出 ascii 值 #0 #4 #0 #0 #0
- // 'a' ^ 'e' = #4
- echo 2 ^ "3"; // 輸出 1
- // 2 ^ ((int)"3") == 1
- echo "2" ^ 3; // 輸出 1
- // ((int)"2") ^ 3 == 1
- ?>
新聞熱點
疑難解答