【问题标题】:Issues with boolean value functionality布尔值功能的问题
【发布时间】:2014-04-11 13:06:31
【问题描述】:

我在一个名为“status”的数据库表中有一个布尔列,我想用它来控制用户提交的内容的状态,我已将其类型设置为 TINYINT 和它的默认值是 '0' 并且正在使用这个 sn-p 将功能应用于内容

$status = '';

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

 $status = 'Not Approved';
}
else {

$status = 'Approved';
}

var_dump($row_userDetails['status']) 结果为 string(0) "0" 之后,我将使用状态显示或不显示内容,如果批准或不批准。

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

【问题讨论】:

  • 发送var_dump($$row_userDetails) 并在此处发布结果。
  • 如果 db 值为 0,1 则使用 0 或 1 进行匹配
  • `var_dump($row_userDetails['status']) 显示字符串(1)“0”,根据表中的数字内容递增“0”的值
  • 我尝试将 FALSE 值更改为 0,但没有正面结果 @rakesh sharma

标签: php if-statement boolean


【解决方案1】:

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

$row_userDetails['status'] 提供 (string) 'FALSE' 的可能性为 99%

^^ 如果是这样,那么使用:if($row_userDetails['status'] === 'FALSE')

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

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

它会显示booleanintegerdoublestringarrayobjectresourceNULL 引用 here强>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-09-17
    • 2013-11-28
    • 1970-01-01
    • 2011-04-18
    • 2010-10-02
    • 2019-10-06
    • 1970-01-01
    相关资源
    最近更新 更多