下面的代码不输出任何东西:

$bool_val = (bool)false;
echo $bool_val;

但是下面的代码输出1:

$bool_val = (bool)true;
echo $bool_val;

当$bool_val为false时,是否有更好的方法打印0或false,而不是添加if语句?


当前回答

您正在将一个布尔类型转换为布尔类型,并期望显示一个整数。它适用于真,但不适用于假。因为你想要一个整数:

echo (int)$bool_val;

其他回答

echo(var_export($var)); 

当$var是布尔变量时,true或false将被打印出来。

这是最简单的方法:

$text = var_export($bool_value,true);
echo $text;

or

var_export($bool_value)

如果第二个参数不为真,它将直接输出结果。

你可以使用三元运算符

echo false ? 'true' : 'false';

这将打印布尔值,而不是1/0。

    $bool = false;

    echo json_encode($bool);   //false

您正在将一个布尔类型转换为布尔类型,并期望显示一个整数。它适用于真,但不适用于假。因为你想要一个整数:

echo (int)$bool_val;