好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

php 位运算符

位运算符:位运算符允许对整型数中指定的位进行置位,如果左右参数都是字符串,则位运算符将操作字符的 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                               ?>   

查看更多关于php 位运算符的详细内容...

  阅读:51次