下面的代码不输出任何东西:
$bool_val = (bool)false;
echo $bool_val;
但是下面的代码输出1:
$bool_val = (bool)true;
echo $bool_val;
当$bool_val为false时,是否有更好的方法打印0或false,而不是添加if语句?
下面的代码不输出任何东西:
$bool_val = (bool)false;
echo $bool_val;
但是下面的代码输出1:
$bool_val = (bool)true;
echo $bool_val;
当$bool_val为false时,是否有更好的方法打印0或false,而不是添加if语句?
当前回答
这是最简单的方法:
$text = var_export($bool_value,true);
echo $text;
or
var_export($bool_value)
如果第二个参数不为真,它将直接输出结果。
其他回答
你可以使用三元运算符
echo false ? 'true' : 'false';
echo $bool_val ? 'true' : 'false';
或者如果你只想在它为false时输出:
echo !$bool_val ? 'false' : '';
我想用这个打印出来
var_dump ($var);
您正在将一个布尔类型转换为布尔类型,并期望显示一个整数。它适用于真,但不适用于假。因为你想要一个整数:
echo (int)$bool_val;
如果你想调试一个数组,你可以试试这个:
function debug_array($a){
return array_map(function($v){
return is_bool($v) ? ($v ? 'true' : 'false') : $v;
}, $a);
}
使用它:
$arr = debug_array(['test' => true, 'id' => false]);
print_r($arr); // output Array ( [test] => true [id] => false )