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
,从而使第一个条件始终触发。
您可以使用二进制位使其更简单。当2
和1
都设置时为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检查变量是真还是假[重复]的主要内容,如果未能解决你的问题,请参考以下文章
ImageMagick 已安装,是真是假,如何检查? PHP [重复]
如何在 FireStore 中获取 isAdmin 字段并在 Flutter 中检查它是真还是假