主要实现的功能:
在数据库中存储一个累加完的值(val),通过使用 “位与” 运算,计算出这个值对应的是哪个选项。。
// val 为下方任意 pow 值相加
$val = 2 + 4;
$labels = array(
array('pow' => 1, 'title' => 'blue'),
array('pow' => 2, 'title' => 'green'),
array('pow' => 4, 'title' => 'orange'),
array('pow' => 8, 'title' => 'purple'),
array('pow' => 16, 'title' => 'red'),
array('pow' => 32, 'title' => 'yellow'),
array('pow' => 64, 'title' => 'pink'),
array('pow' => 128, 'title' => 'hotPink'),
array('pow' => 256, 'title' => 'mediumVioletRed'),
array('pow' => 512, 'title' => 'lavender'),
array('pow' => 1024, 'title' => 'plum'),
array('pow' => 2048, 'title' => 'fuchsia'),
);
$ret = [];
foreach ($labels as $value) {
if (($val & $value['pow']) > 0) $ret[$value['pow']] = $value;
}
var_dump($ret);
return $ret;