Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/278.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 布尔值不适用于if语句_Php - Fatal编程技术网

Php 布尔值不适用于if语句

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

我有一段代码,其中布尔值动态地出现在变量($bool)上,但使用“if语句”时,它无法正常工作。我使用$bool尝试了0/1和true/false

如果我编写以下代码,那么它将打印所有功能:

<?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
是一个字符串,在php
var\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