I have 17 boolean variables which need to be stored in a MySQL database. I created a SET Column to store each of the boolean values as bits in the column. I should be able to test for the truth of a particular variable by checking if the corresponding bit is set.
For example, if the first four variables are set (i.e. Column = a,b,c,d) then the numeric value of the column is 15 or 1111. To test for c I would check to see if the third bit (4 or 100) is set. I chose to do the check this way: if ($One & $Two == $One) echo "True"; This does not seem to work in many instances. Take the example above: 4 and 15 should equal 4 0100 and 1111 equals 0100 For some reason, my script gives 0000 as the result of 0100 and 1111. It is fairly clear that this is not the correct behavior of the bitwise & operator. Oddly enough, in some instances is works as expected: 16 and 17 should equal 16 10000 and 10001 equals 10000 My script has no problem generating the expected result here. Perhaps this problem arises from the loosely typed nature of PHP variables, but I do not see how it could. Any pointers would be appreciated. Fred -- PHP General Mailing List (http://www.php.net/) To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] To contact the list administrators, e-mail: [EMAIL PROTECTED]