布尔值不能与if语句一起工作


Boolean is not working with if statement

我有一个代码上的布尔值是动态地对一个变量($bool),但与'if语句'它不能正常工作。我已经尝试了0/1和true/false与$bool.

如果我写下面的代码,那么它打印所有的特色:

<?php if($bool == 0) : ?> <div>Featured</div> <?php endif; ?>
如果我写下面的代码,那么它什么也不打印
<?php if($bool == 1) : ?> <div>Featured</div> <?php endif; ?>

但是我有真值和假值。请帮助! !

你是类型杂耍的受害者。

$bool是一个字符串,在php中var_dump('string' == 0)总是true。查看文档中的这个表。如果您使用==而不是严格的比较操作符===,并且您将字符串与整数进行比较,那么字符串总是被转换为数字。在本例中

var_dump((int) 'string'); // 0
<?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
}
?>