キーワード「bitwise switch」のエントリが 1 つだけ見つかりましたが、例が 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);
}
ただし、値を 1 つだけ収集するか、中断せずにすべての値を収集します。この問題を解決するにはどうすればよいですか?