任何使用位掩码的函数?

Kir*_*lla 1 php

我有int代表位掩码的字段.有没有可用于位掩码的函数?issetBit,unsetBit,setBit

谢谢

Thi*_*ter 7

使用按位运算符.但如果你想要功能,这里有一些.

function issetBit(& $mask, $bit) {
    return (bool)($mask & (1 << $bit));
}

function unsetBit(& $mask, $bit) {
    $mask &= ~(1 << $bit);
}

function setBit(& $mask, $bit) {
    $mask |= (1 << $bit);
}
Run Code Online (Sandbox Code Playgroud)

用法:第一个参数是你当前的位掩码; 第二个参数是位的数量(从零开始).即issetBit($mask, 2)等于(bool)($mask & 4) 你不能使用这些功能一次测试/设置/取消设置多个位.