用二進位制位來表示是否擁有多個平行的屬性
<?php
define("PUBLIC_ARTICLE", 1); //發行文章
define("CREATE_ARTICLE", 2); //新增文章
define("MODIFY_ARTICLE", 4); //修改文章
define("DELETE_ARTICLE", 8); //刪除文章
define("SHARCH_ARTICLE", 16); //搜尋文章
define("CREATE_COMMENT", 32); //新增文章評論
define("DELETE_COMMENT", 64); //刪除文章評論
//所有的許可權
$final_allow = PUBLIC_ARTICLE | CREATE_ARTICLE | MODIFY_ARTICLE | DELETE_ARTICLE
| SHARCH_ARTICLE | CREATE_COMMENT | DELETE_COMMENT;
echo "管理者擁有的全部許可權:" .decbin($final_allow). "<br>";
$no_shearch_allow = $final_allow ^ SHARCH_ARTICLE;
echo "僅無法搜尋文章的許可權:" .decbin($no_shearch_allow). "<br>";
//編輯人員獨有的許可權
$editor_allow = PUBLIC_ARTICLE | MODIFY_ARTICLE | DELETE_ARTICLE;
$no_editor_allow = $final_allow & ~$editor_allow;
echo "非編輯人員所有的許可權:" .decbin($no_editor_allow). "<br>";
?>
相關文章
- 二進位制陣列 buffer 屬性陣列
- 二進位制陣列 length 屬性陣列
- 二進位制陣列 byteLength 屬性陣列
- 二進位制陣列 byteOffset 屬性陣列
- JavaScript八進位制與二進位制表示法JavaScript
- JavaScript 八進位制與二進位制表示法JavaScript
- 二進位制,八進位制,十進位制,十六進位制的相互轉換
- 進位制詳解:二進位制、八進位制和十六進位制
- java中二進位制、八進位制、十進位制、十六進位制的轉換Java
- 二進位制,八進位制,十進位制,十六進位制之間的轉換
- JavaScript 二進位制、八進位制與十六進位制JavaScript
- 二進位制與二進位制運算
- 【進位制轉換】二進位制、十六進位制、十進位制、八進位制對應關係
- Java中8進位制和16進位制的表示方法Java
- 大話二進位制,八進位制,十進位制,十六進位制之間的轉換
- 十進位制——二 (八、十六 )進位制
- 計算機基礎進位制轉換(二進位制、八進位制、十進位制、十六進位制)計算機
- Python 進位制互相轉換(二進位制、十進位制和十六進位制)Python
- 二進位制、十進位制與十六進位制相互轉化
- (二進位制)
- 二進位制
- 位,位元組,二進位制,十六進位制間的關係
- Oracle中的二進位制、八進位制、十進位制、十六進位制相互轉換函式Oracle函式
- 進位制之間的轉換之“十六進位制 轉 十進位制 轉 二進位制 方案”
- JAVA 二進位制,八進位制,十六進位制,十進位制間進行相互轉換Java
- 用C#實現二進位制的減法(包括二進位制小數)C#
- 二進位制轉十進位制快速方法
- 如何把十進位制的數輸入用二進位制全加器,並以十進位制輸出
- 二進位制中1的個數
- [計算機基礎] 計算機進位制轉換:二進位制、八進位制、十進位制、十六進位制計算機
- 【轉帖】Oracle中的二進位制、八進位制、十進位制、十六進位制相互轉換函式Oracle函式
- 位運算(一):二進位制中1的個數
- 用二進位制去控制分享
- 一看就懂二進位制、八進位制、十六進位制數轉換十進位制
- python進位制轉換(二進位制、十進位制和十六進位制)及注意事項Python
- 什麼是二進位制?二進位制如何轉換?
- 對於十進位制數 -1023,包含符號位在內,至少需要多少個二進位制位表示該數符號
- JavaScript中的多種進位制與進位制轉換JavaScript