要使用PHP设置复选框数组,我使用DB中的编码小数。例如dec 5(二进制0000 0101将checkbox
1和3设置为checked
我在本例中使用了三元运算符作为复选框1:
(5 & 1 == 1 ? 'checked' : '')
结果为false
,但应为true
。
只有在条件部分(5 & 1) == 1
中使用附加括号时才能得到正确的结果。最后,示例必须如下所示:
((5 & 1) == 1 ? 'checked' : '')
有谁知道为什么你必须使用这样的括号?
答案 0 :(得分:1)
按位AND运算符&
的优先级低于==
。并且三元条件运算符具有您使用的运算符的最低优先级。
因此5 & 1 == 1 ? 'checked' : ''
评估为(5 & (1 == 1)) ? 'checked' : ''
。
围绕5 & 1
放置括号是正确的做法。