Php 布尔值不适用于if语句
我有一段代码,其中布尔值动态地出现在变量($bool)上,但使用“if语句”时,它无法正常工作。我使用$bool尝试了0/1和true/false 如果我编写以下代码,那么它将打印所有功能:Php 布尔值不适用于if语句,php,Php,我有一段代码,其中布尔值动态地出现在变量($bool)上,但使用“if语句”时,它无法正常工作。我使用$bool尝试了0/1和true/false 如果我编写以下代码,那么它将打印所有功能: <?php if($bool == 0) : ?> <div>Featured</div> <?php endif; ?> 精选 如果我写了下面的代码,它就不会打印任何东西 <?php if($bool == 1) : ?> <div&g
<?php if($bool == 0) : ?> <div>Featured</div> <?php endif; ?>
精选
如果我写了下面的代码,它就不会打印任何东西
<?php if($bool == 1) : ?> <div>Featured</div> <?php endif; ?>
精选
但我有正确和错误的价值观。请帮助
<?php
//To check the what value is return use vardump
var_dump($bool); //comment after the check the value.
if($bool == true){
//echo your value for true statement
}else if($bool == false){
//echo your value for false statement
}
?>
你是这种杂耍的受害者
$bool
是一个字符串,在phpvar\u dump('string'==0)
中总是true
。从文档中查看。如果使用=
而不是严格比较运算符==
,并将字符串与整数进行比较,则字符串始终转换为数字。在这种特殊情况下
var_dump((int) 'string'); // 0
什么是输出:
var_dump($bool)
?如果$bool
是布尔值,你可以做If($bool):
var_dump($bool)的输出,对于某些div,它是0,对于某些div,它是带字符串的1,这正是我所需要的,但是If语句不起作用。你能粘贴从var_dump得到的所有输出吗?这里是var_dump的输出:string(34)“1”我使用了var_dump,它为像string(34)“0”这样的true语句提供输出,为false语句提供string(34)“1”boolean statement 0==“true”和1=“false”。那么,回显值的问题是什么呢?我已经通过int、intval、bool函数将字符串转换为整数,但没有任何效果。下面是var_dump的输出:string(34)“1”您有一个34字节的字符串。你不能那样转换它。$bool里面到底是什么?只有布尔值0和1