PHP检查变量是真还是假[重复]

Posted

技术标签:

【中文标题】PHP检查变量是真还是假[重复]【英文标题】:PHP check if a variable is true or false [duplicate] 【发布时间】:2020-01-30 17:34:34 【问题描述】:

我想知道为什么我无法通过谷歌搜索找到答案? 你如何比较一个布尔变量是真还是假,我有 ff 代码: $input['appointed_phases1'] is true 的值,而$input['appointed_phases2'] is false 的值:

    $appointed_phases = 0;
    if($input['appointed_phases1'] == true && $input['appointed_phases2'] == true)
        $appointed_phases = 3;
    elseif($input['appointed_phases1'] == true && $input['appointed_phases2'] == false)
        $appointed_phases = 1;
    elseif($input['appointed_phases1'] == false && $input['appointed_phases2'] == true)
        $appointed_phases = 2;
    else
        $appointed_phases = 0;
    

由于某种原因,$appointed_phases 的值始终为 3

【问题讨论】:

显示var_dump($input['appointed_phases1'])var_dump($input['appointed_phases2']) 的输出。我怀疑它们是字符串而不是实际的布尔值。在这种情况下,类型杂耍将使两个比较等于true,从而使第一个条件始终触发。 您可以使用二进制位使其更简单。当21都设置时为3,当仅设置2时为2,当仅设置1时为1,否则为0。 在检查布尔值时,您需要始终使用严格的比较运算符 === 而不是 == 【参考方案1】:

我认为您的 $input['appointed_phases1'] 包含一个字符串值。 在 php 中,任何不为空的字符串值都会计算为 true。

看到这个问题: How to convert string to boolean php

您可以将$input['appointed_phases1'] 的值转换为布尔值,或者您可以将此值与'true' 进行比较,而不是true

【讨论】:

以上是关于PHP检查变量是真还是假[重复]的主要内容,如果未能解决你的问题,请参考以下文章

将字符串转换为布尔值[重复]

CNN 只分类一个变量是真还是假

ImageMagick 已安装,是真是假,如何检查? PHP [重复]

如何在 FireStore 中获取 isAdmin 字段并在 Flutter 中检查它是真还是假

Next.js:当每个标签检查其 isEdit 状态是真还是假时,如何使只有一个输入字段可内联编辑

关于 argparse 库 [python] [重复]