作者gpmm (银色)
看板PHP
标题Re: [请益] 关於PHP 逻辑运算 (and,or)
时间Thu Jan 10 14:44:32 2013
※ 引述《vivi50218 (vivi)》之铭言:
: 我现在 再做权限设定的部分 参考网路上的做法是用 逻辑运算去做
: 就是 有查 新 修 删 4个权限 分别对映到 1 2 4 8
: 如果只有查 就是存1 有查跟新 就是1+2=3 以此类推...
: $c=4
: 作检查的时候就用 if($_SESSION["auth"]&$c==4) 去做检查
: 如果Session=1 作出来的结果应该是0才对 而不是4 但我作出来却是4...
: 运算出来的结果都不对 难道不能这样作吗? 我都是用10进位
: 我之前作checkbox也是用这个方法 但是那时都是正确的 作权限检查就给我出错..
: 实在想不出来错在哪里....只好上来发问 请大家帮帮忙...
: 0100
: and 0001
: __________
: 0000
// 定义权限
define ('_SELECT', 0x001);
define ('_INSERT', 0x002);
define ('_UPDATE', 0x004);
define ('_DELETE', 0x008);
// 使用者持有的权限
$userAuth = _SELECT | _INSERT | _UPDATE | _DELETE;
// 权限判定
if ($userAuth & _SELECT) {
}
if ($userAuth & _INSERT) {
}
--
列出我平常用的方式,你参考看看
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 175.180.111.33
1F:推 PTTLSboy:请问一下0x001里的x代表什麽呢?? 01/13 02:18
2F:→ gpmm:0x 代表这是 16 进位 :P 01/13 22:10