切换按位比较

时间:2013-08-06 01:33:54

标签: php switch-statement constants bit-manipulation

我发现关键字“按位切换”只有一个条目,但我没有设法使用它,因为该示例是用C语言编写的。在PHP中我使用以下函数:

function flags2string($flags) {
    $title = Array();
    switch(true) {
        case (MYSQLI_NOT_NULL_FLAG & $flags): 
            $title[] = 'Not null';
        case (MYSQLI_PRI_KEY_FLAG & $flags): 
            $title[] = 'Primary';
        case (MYSQLI_UNIQUE_KEY_FLAG & $flags): 
            $title[] = 'Unique';
        case (MYSQLI_NUM_FLAG & $flags): 
            $title[] = 'Number';
        break;
        default:
            $title[] = 'Other';
    }
    return implode(', ', $title);
}

然而,它只收集一个值,或者没有中断,收集所有这些值。我该如何解决这个问题?

0 个答案:

没有答案