最近看discuz代码,发现其中有好多二进制的运算
例如:
bindec((($forum['simple'] & 128) ? 1 : 0).(($forum['simple'] & 64) ? 1 : 0));
等等,有很多1为什么用到这么多二进制运算?
2是不是因为运算速度快呢?
3使用boolean不好吗?
例如:
bindec((($forum['simple'] & 128) ? 1 : 0).(($forum['simple'] & 64) ? 1 : 0));
等等,有很多1为什么用到这么多二进制运算?
2是不是因为运算速度快呢?
3使用boolean不好吗?
根据其值的不同,你示例的代码将得到 0 到 3 的数值
后续代码中可能以其做索引进行预置的跳转*******条条大路通罗马,并不是什么都要问为什么的
实现特定的功能,各人有各人的写法。这就是所谓的殊途同归
比如error_reporting(E_ALL ^ E_WARNING);
你试试比较复杂的权限控制的时候,就能体会到好处了。
括号里,最终结果,也是类似于boolean
感慨戴志康的机遇,一套半盗版的产品,竟然让腾讯7000万美元收了