// $food 라는 배열에 식재료를 정의
$food = array(
1, // 파
2, // 마늘
4, // 간장
8, // 고추장
16, // 김치
32, // 햄
64, // 설탕
128, // 후추
256, // 소금
512, // 고춧가루
1024, // 청양고추
2048, // 물엿
4096, // 돼지고기
);
// 파(1) + 김치(16) + 소금(256) + 돼지고기(4096) = 4369
$cook = $food[0] + $food[4] + $food[8] + $food[12];
echo $cook;
(결과 : 4369)
// $cook 변수에 소금이 포함되어있는지 확인
if($cook & 256 또는 $food[8]) {
echo 'true';
}else{
echo 'false';
}
(결과 : true)
// $cook 변수에 고추장이 포함되어있는지 확인
if($cook & 8 또는 $food[3]) {
echo 'true';
}else{
echo 'false';
}
(결과 : false)
http://blog.freezner.com/archives/1287
[PHP] 비트연산자(&)를 이용한 플래그 값 비교 방법
비트 연산을 이용해 여러 상태 값을 처리하는 방법을 소개합니다. 비트 연산하면 떠오르는 패턴의 수열이 있습니다. 1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024 .. 와 같은 공비가 2인 등비수열.. 이제 이 값들을 식재료에 매칭시켜 예를 들어보겠습니다. [crayon-5d41005d065ba736588763…
blog.freezner.com