php - 在mysql中保存和检索多个复选框的BItwise运算符用法
问题描述
正如我想知道tinyint
在 mysql 表中(按位)存储多个复选框值。例如,如果我们有
`2=>car, 4=>bike, 8=>truck`
如果我们在 UI 中选择 car 和 bike 复选框,值将如何存储在 table 中。以及如何将其查看回屏幕并进行编辑。
解决方案
要组合复选框,您可以使用按位 OR |
:
$value = 0;
$value |= 2;
$value |= 8;
// $value is 0b1010
要检索,您可以使用按位 AND &
:
if($value & 8) {
// '8' checkbox is set
}
推荐阅读
- time-complexity - 在实践和理论中,我们在哪里划清 O(1) 和 O(n) 之间的界限?
- javascript - 在 `@media print` 中使用 CSS `*` 和 `:not()` 仍然可以显示一切。是什么原因?
- java - How to set the Title of a Frame in java via Combobox?
- r - 使用circlepack在ggraph中分面时隐藏根节点
- java - 历史数据,根据后赔率 3 个或更多选项计算平局赔率
- sublimetext3 - Sublime Text 没有可用的包 - 包控制问题 502
- javascript - 尝试使用 firestore 进行多字段搜索
- html - 为什么移动中的子菜单在菜单顶部打开而不是向下推菜单?
- amazon-web-services - 如何在 CloudWatch Logs 代理将日志事件发送到 AWS 之前过滤和转换 EC2 实例中的日志事件
- amazon-web-services - AWS 无服务器 - 将云端 POST 请求修改为 s3 网站来源的 GET 请求