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

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

但是下面的代码输出1:

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

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


当前回答

结果是0或1:

intval($bool_val);

PHP手册:intval函数

其他回答

不,因为另一个选择是修改Zend引擎,人们很难将其称为“更好的方法”。

编辑:

如果你真的想,你可以使用一个数组:

$boolarray = Array(false => 'false', true => 'true');
echo $boolarray[false];

尝试将您的布尔值转换为整数?

 echo (int)$bool_val;

这是最简单的方法:

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

or

var_export($bool_value)

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

echo $bool_val ? 'true' : 'false';

或者如果你只想在它为false时输出:

echo !$bool_val ? 'false' : '';

我想用这个打印出来

var_dump ($var);