Простая помощь в создании битовой маски
У меня есть следующие флаги:
- edit profile => 1
- update coupon => 2
- update news articles => 4
Я хочу понять, как я могу установить и проверить битовую маску для всех трех флагов (то есть пользователь имеет доступ ко всем 3 битовым маскам).
- Складываем ли мы все биты вместе?
- Как насчет простого доступа к 2?
Не совсем уверен, что здесь делать.
2
1 answers
Если вы хотите, чтобы у пользователя были все разрешения, то or
биты.
Например,
$permission_bitmask = $edit_profile | $update_coupon | $update_news_articles;
Только для двух разрешений это одна и та же идея.
$permission_bitmask = $edit_profile | $update_coupon;
Чтобы проверить битовую маску и битовую маску с нужным битом.
$has_edit_profile = ($edit_profile & $permission_bitmask) !== 0;
2
Author: Chris, 2016-04-12 14:42:16