作者vivi50218 (vivi)
看板PHP
标题[请益] 关於PHP 逻辑运算 (and,or)
时间Thu Jan 10 14:34:04 2013
我现在 再做权限设定的部分 参考网路上的做法是用 逻辑运算去做
就是 有查 新 修 删 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
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 211.20.201.205
※ 编辑: vivi50218 来自: 211.20.201.205 (01/10 14:36)
※ 编辑: vivi50218 来自: 211.20.201.205 (01/10 14:36)
1F:推 flamerecca:用echo大法检查吧 看看你实际到底比较了哪两个数字 01/10 14:40
2F:→ vivi50218:值是对的阿.. echo 出来是1 跟 4 .... 01/10 14:50
3F:→ richile0819:应该用&&罢 01/11 10:44
4F:推 bobju:你若对运算符的优先顺序不确定,最好还是用小括号 01/12 11:44