PHP位運算的應用
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
/**
* 1、權限應用
* 擁有哪些權限,就把這些權限對應的數值加起來
* 例如:版主擁有權限(增加、刪除、修改、查詢),則版主的權限值存儲為15(8+4+2+1)
* 然后【權限值之和】 與 【實際權限值】做【位于】比較
* 結果是真則擁有權限
* 結果是假則沒有權限
*
* 注意:權限值必須是2的N次方,從0次方開始,31次方是2147483648
* 32次方是4294967296,已超過了常用int(10)最大存儲4294967295,所以必須注意權限數量(<31個)
* 當然如果存儲格式為bitint或varchar等可以存儲更長數字的格式,那么權限數量可以繼續增加
*/
$permission = 15; //1+2+4+8 擁有全部權限
$permissions = array(
8 => '增加',
4 => '刪除',
2 => '修改',
1 => '查詢'
);
foreach ($permissions as $key => $val) {
if($key & $permission) {
echo '我有' . $val . '的權力
';
}
}
|
推薦文章
2025-01-18
2024-11-28
2024-11-09
2024-10-25
2024-06-25
2024-01-04
2023-11-06
2023-10-30
2023-10-13
2023-10-10
穩定
產品高可用性高并發貼心
項目群及時溝通專業
產品經理1v1支持快速
MVP模式小步快跑承諾
我們選擇聲譽堅持
10年專注高端品質開發