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

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

但是下面的代码输出1:

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

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


当前回答

你可以使用三元运算符

echo false ? 'true' : 'false';

其他回答

结果是0或1:

intval($bool_val);

PHP手册:intval函数

我想用这个打印出来

var_dump ($var);

你可以使用三元运算符

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

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

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

Json_encode将开箱即用,但它并不漂亮(缩进等):

echo json_encode(array('whatever' => TRUE, 'somethingelse' => FALSE));

给了…

{"whatever":true,"somethingelse":false}