我的数据库有多个布尔值。保存数据库后,布尔值被转换成tinyint(1)。我认为这是因为它只需要保存1或0。
但是,我现在在比较php中的值时遇到了一个问题。我将tinyint保存到一个数组中,没有任何代码转换。该数组有多个文本和日期项以及多个布尔项,例如:
array[0] is '09:45:00'
array[1] is '10:45:00'
array[2] is 1
array[3] is 0
array[4] is 0
array[5] is 1
array[6] is 'active'
现在,如果我在数组中循环,我想检查值是时间、文本还是真/假。
检查条目是否为true将始终返回true,因为没有条目为空。检查条目是1还是0对布尔值有效,但是当我检查'active'==0时,它返回true。为什么是这种情况?如果我将字符串与tinyint进行比较,如何得到false?
与===比较在任何情况下都不起作用。
1条答案
按热度按时间ejk8hzay1#
我想你可以用一些嵌套的if-else语句来实现这一点。但我很肯定还有一个更好看的解决方案