php mysql位字段

时间:2010-10-17 11:53:48

标签: php mysql

奇怪,我正在使用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';
}

改变它的选择是什么?

- 感谢名单

1 个答案:

答案 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'); }

您可以使用这些来检查位字段中的各个位,而不管其他位的值。