求包含关系是与操作 与操作就是这样个作用 位操作在mysql和php效率都是很高的
例如:
1=en(2的0次方) 2=zh(2的1次方) 4=th(2的2次方) 把选中的值加起来放到一个字段 (语种字段)
其中2的几次方中的几是语种的id
取的时候使用位操作
比如判断是否th语种的广告 $languages & pow(2, 4)) >> 4 结果为1就是支持th,为0就是不支持th
7的2进制表示是111(7是上面提到的1+2+4 都是2的id号次方想加) 4的2进制表示是001(4是2的language id号次方) 111 & 001 = 001 001 >> 2 = 1 为1的话就是包含该语种
select * from 广告表 where (储存想加的和的语种字段 & (2的要取的语种的id次方)) >> 要取的语种的id = 1;
或者不要>>?=1直接与操作就可以了。 A & B 如果A包含B,则返回B 否则返回0 B如果是2的次方的话,(保存的时候,id的次方如果没有减一,这儿包含的时候也就不减一,否则要减。 要对应)