我有一个代码上的布尔值是动态地对一个变量($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
}
?>