布尔值功能的问题

时间:2014-04-11 13:06:31

标签: php if-statement boolean

我在其中一个名为" status"的数据库表中有一个布尔列。我想用它来控制用户提交的内容的状态,我已将其类型设置为TINYINT,其默认值为' 0' 0' 0并使用此代码段将功能应用于内容

$status = '';

if ($row_userDetails['status'] == FALSE) {

 $status = 'Not Approved';
}
else {

$status = 'Approved';
}

var_dump($row_userDetails['status'])结果是字符串(0)" 0" 然后,我将使用状态显示或不显示内容,如果批准或不批准。

但我的问题是,我似乎无法获得TRUE价值,即" Approved"当我echo $status时,我只获得FALSE值,即" Not Approved"。请帮我解决这个问题

1 个答案:

答案 0 :(得分:0)

由于类型杂耍,您遇到了差异。

$row_userDetails['status']提供(string) 'FALSE'

的可能性为99%

^^如果这是真的,那么使用:if($row_userDetails['status'] === 'FALSE')< - 注意表示字符串值的单引号

确定您正在使用的类型的正确方法是使用:

echo gettype($row_userDetails['status']);`

它会显示booleanintegerdoublestringarrayobjectresource,或NULL引用 here