PHP 操作符

按位与运算符 (&) 是一个二元运算符,它采用两个长度相等的位模式,并对每对对应位执行逻辑与运算。如果同一位置的两个位均为 1,则返回 1,否则返回 0。

Bit_1Bit_2Bit_1 和 Bit_2
000
100
010
111

下面的示例描述了按位与运算符的工作原理:

50 & 25 returns 16

     50    ->    110010  (In Binary)
   & 25    ->  & 011001  (In Binary)
    ----        --------
     16    <-    010000  (In Binary) 

使用按位与运算符(&)的代码如下:

<?php
$x = 50;
$y = 25;
$z;

//按位与运算
$z = $x & $y;

//显示结果
echo "z = $z";
?> 

上面的代码将是:

z = 16 

示例:检查数字是偶数还是奇数

偶数的最后一位始终是0,而对于奇数,最后一位始终是1。因此,对于给定数字 n,如果 n 为偶数,则 (n & 1) 返回 0,否则返回 1。

Even Number: 

     50   ->    110010  (In Binary)
    & 1   ->  & 000001  (In Binary)
    ----       --------
      0   <-    000000

Odd Number: 

     99   ->    1100011  (In Binary)
    & 1   ->  & 0000001  (In Binary)
    ----       ---------
      1   <-    0000001 

下面的代码检查给定的数字是偶数还是奇数:

<?php
function CheckEven($MyNum){
  if (($MyNum & 1) == 1){
    echo $MyNum." is an odd number.\n";
  } else {
    echo $MyNum." is an even number.\n";
  }
}

CheckEven(50);
CheckEven(99);
?> 

上面的代码将给出以下结果输出:

50 is an even number.
99 is an odd number.