我有以下标志:
- edit profile => 1
- update coupon => 2
- update news articles => 4
我想了解如何设置和检查所有三个标志的位掩码(即,用户可以访问所有3位掩码)。
不太清楚该怎么做。
答案 0 :(得分:2)
如果您希望用户拥有所有权限,则or
位。
e.g。
$permission_bitmask = $edit_profile | $update_coupon | $update_news_articles;
只有两个权限,这是相同的想法。
$permission_bitmask = $edit_profile | $update_coupon;
检查位掩码和所需位的位掩码。
$has_edit_profile = ($edit_profile & $permission_bitmask) !== 0;