下面的代码不输出任何东西:
$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语句?
当前回答
尝试将您的布尔值转换为整数?
echo (int)$bool_val;
其他回答
您正在将一个布尔类型转换为布尔类型,并期望显示一个整数。它适用于真,但不适用于假。因为你想要一个整数:
echo (int)$bool_val;
echo(var_export($var));
当$var是布尔变量时,true或false将被打印出来。
不,因为另一个选择是修改Zend引擎,人们很难将其称为“更好的方法”。
编辑:
如果你真的想,你可以使用一个数组:
$boolarray = Array(false => 'false', true => 'true');
echo $boolarray[false];
结果是0或1:
intval($bool_val);
PHP手册:intval函数
Json_encode将开箱即用,但它并不漂亮(缩进等):
echo json_encode(array('whatever' => TRUE, 'somethingelse' => FALSE));
给了…
{"whatever":true,"somethingelse":false}