相关疑难解决方法(0)

为什么枚举权限通常有0,1,2,4值?

为什么人们总是使用enum值0, 1, 2, 4, 8而不是0, 1, 2, 3, 4

这与位操作等有关吗?

我真的很感激有关如何正确使用它的小样本片段:)

[Flags]
public enum Permissions
{
    None   = 0,
    Read   = 1,
    Write  = 2,
    Delete = 4
}
Run Code Online (Sandbox Code Playgroud)

c# permissions enums flags

157
推荐指数
5
解决办法
2万
查看次数

以二进制设置权限

我在学校看到了一个使用二进制字符串设置权限的系统.

假设101001 = 41

所以:

  • 1可以是第1页的权限
  • 2可以是第2页的许可
  • 4可以是第3页的许可
  • 8可以是第4页的许可
  • 16可以是第5页的许可
  • 32可以是第6页的许可

所以我想说我得到了上面的二进制字符串(101001).我可以访问第1,4和6页.

我怎么能用PHP做到这一点?假设我在MySQL中有一个名为permsdec 的字段,因此101001将为41. 我怎么知道41在PHP中等于1,8和32?

谢谢.

php

4
推荐指数
1
解决办法
3470
查看次数

标签 统计

c# ×1

enums ×1

flags ×1

permissions ×1

php ×1