1
값이 유효한 플래그의 조합을 나타내는 지 확인하려고합니다.AND에서 플래그를 테스트하는 방법은 무엇입니까?
는 여기에 몇 가지 테스트 코드입니다 :
$permissions = [2, 4, 16, 1024];
$test = 8; // single value - ok
$test = 4 | 8 | 2048; // OR - ok
$test = 4 | 16; // OR - ok
$test = 4 & 8; // AND - ok
$test = 4 & 16; // AND - fails :(
foreach($permissions as $perm){
if($test & $perm){
print 'ok!';
break;
}
}
배열이 특정 플래그가 포함 된 경우 내가 볼하려고하면 실패 볼 수 있듯이. 내가 할 수 있고 일할 수있는 방법이 있습니까?
$test = 4 & 16; // should return true because both values are in the array