我在其中一个名为" 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
"。请帮我解决这个问题
答案 0 :(得分:0)
由于类型杂耍,您遇到了差异。
$row_userDetails['status']
提供(string) 'FALSE'
^^如果这是真的,那么使用:if($row_userDetails['status'] === 'FALSE')
< - 注意表示字符串值的单引号
确定您正在使用的类型的正确方法是使用:
echo gettype($row_userDetails['status']);`
它会显示boolean
,integer
,double
,string
,array
,object
,resource
,或NULL
引用 here