奇怪,我正在使用apache + php与windows。 php将mysql位字段处理为数字: 它的工作正确;
$b = $row['bit_field']
if ($b == 1) {
echo 'ok';
}
与centos和php 5.3.3'./configure'' - with-mysql'' - with-mcrypt'' - enable-mbstring'' - with-imap'' - with-kerberos' '--with-imap-ssl'' - with-libjpeg'' - with-libpng'' - with-gd'
我需要
$b = $row['bit_field']
if (ord($b) == 1) {
echo 'ok';
}
改变它的选择是什么?
- 感谢名单
答案 0 :(得分:5)
如果您正在处理的字段确实是一个字段,那么您当然应该使用位字段运算符来测试值中设置的位数?
if ($b & 0X1) { echo ('Least significant bit in byte set'); }
if ($b & 0X80) { echo ('Most significant bit in byte set'); }
if ($b & 0X80000000) { echo ('Most significant bit in 32 bit word set'); }
您可以使用这些来检查位字段中的各个位,而不管其他位的值。