许多PHP函数使用带有整数值的常量来表示标志。因此,整数值为:
48 = 32,16
51 = 32,16,2,1
我很好奇是否有一个php函数/类或更优雅的方法来反转过程以按上述方式分解整数,甚至更好地确定与函数关联的标志。
我想过设置一个像这样的关联数组:['flag name'=>然后循环遍历数组以添加每个可能组合的值,但这似乎效率很低。特别是当处理多达12个标志时,你就有数百万个组合。
答案 0 :(得分:2)
您可以使用按位AND来查看是否设置了值:
$a = 23;
$sixteen = 16;
$eight = 8;
if($a & $sixteen) echo "the 16 bit is set";
if($a & $eight) echo "the 8 bit is set";