PHP bit field 數字進行 AND 運算判斷應用教學範例

PHP bit field 數字進行 AND 運算判斷應用教學範例

如何作出下列數值的判斷:
1 = 成年人
2 = 已婚
3 = 1 + 2 (成年人 & 已婚)
4 = 有小孩
5 = 1 + 4 (成年人 & 有小孩)
6 = 2 + 4 (已婚 & 有小孩)    
7 = 1 + 2 + 4 (成年人 & 已婚 & 有小孩)

//範例(拿出 1,2,4三個值來作判斷):
$p = 6;
$Man = $p & 1;    
$Marry = $p & 2;
$Boy = $p & 4;
echo "$Man : $Marry : $Boy";
//印出 0 : 2 : 4

//16進位範例(拿出 1,2,4三個值來作判斷):
$p = 7;
$Man = $p & 0x01;    
$Marry = $p & 0x02;
$Boy = $p & 0x04;
echo "$Man : $Marry : $Boy";
//印出 1 : 2 : 4

也就是說, 當 $Man 判斷為真, 不為0時, 就是符合該條件