以下代码不打印任何内容:
$bool_val = (bool)false;
echo $bool_val;
但以下代码打印1
:
$bool_val = (bool)true;
echo $bool_val;
在0
false
为$bool_val
时,是否有更好的方式来打印false
或if
而不是添加{{1}}声明?
答案 0 :(得分:219)
echo $bool_val ? 'true' : 'false';
或者如果您只想要输出错误:
echo !$bool_val ? 'false' : '';
答案 1 :(得分:55)
这是最简单的方法:
$text = var_export($bool_value,true);
echo $text;
或
var_export($bool_value)
如果第二个参数不为真,它将直接输出结果。
答案 2 :(得分:35)
不,因为另一个选项是修改Zend引擎,并且很难称之为“更好的方式”。
修改强>
如果你真的想,可以使用数组:
$boolarray = Array(false => 'false', true => 'true');
echo $boolarray[false];
答案 3 :(得分:24)
这将按原样打印出布尔值,而不是1/0。
$bool = false;
echo json_encode($bool); //false
答案 4 :(得分:19)
我喜欢这个打印出来
var_dump ($var);
答案 5 :(得分:17)
尝试将布尔值转换为整数?
echo (int)$bool_val;
答案 6 :(得分:10)
var_export
提供所需的功能。
这将始终打印一个值,而不是为null
或false
打印任何内容。 var_export
打印它传递的参数的PHP表示,输出可以复制/粘贴回PHP。
var_export(true); // true
var_export(false); // false
var_export(1); // 1
var_export(0); // 0
var_export(null); // NULL
var_export('true'); // 'true' <-- note the quotes
var_export('false'); // 'false'
如果要打印字符串"true"
或"false"
,可以转换为布尔值,如下所示,但要注意特性:
var_export((bool) true); // true
var_export((bool) false); // false
var_export((bool) 1); // true
var_export((bool) 0); // false
var_export((bool) ''); // false
var_export((bool) 'true'); // true
var_export((bool) null); // false
// !! CAREFUL WITH CASTING !!
var_export((bool) 'false'); // true
var_export((bool) '0'); // false
答案 7 :(得分:5)
答案 8 :(得分:4)
echo(var_export($var));
当$var
为布尔变量时,将打印出true
或false
。
答案 9 :(得分:3)
您可以使用三元运算符
echo false ? 'true' : 'false';
答案 10 :(得分:3)
sprintf()的%b
选项会将布尔值转换为整数:
echo sprintf("False will print as %b", false); //False will print as 0
echo sprintf("True will print as %b", true); //True will print as 1
如果您不熟悉它:您可以为此函数提供任意数量的参数,而第一个参数应该是您的输出字符串,其中包含替换字符串,如%b
或%s
,用于一般字符串更换。
每个模式将按顺序替换为参数:
echo sprintf("<h1>%s</h1><p>%s<br/>%s</p>", "Neat Headline", "First Line in the paragraph", "My last words before this demo is over");
答案 11 :(得分:1)
json_encode会开箱即用,但它不漂亮(缩进等):
echo json_encode(array('whatever' => TRUE, 'somethingelse' => FALSE));
...给出...
{"whatever":true,"somethingelse":false}
答案 12 :(得分:0)
function dump_condition($condition){
if($condition){
return "true";
} else {
return "false";
}
}
在脚本上使用
echo dump_condition(1>0); // print "true"
echo dump_condition(1<0); // print "false"
答案 13 :(得分:0)
您将布尔值转换为布尔值,并希望显示整数。它适用于layout:
/lib/x86_64-linux-gnu:
bind: $SNAP/lib/x86_64-linux-gnu
/usr/lib/x86_64-linux-gnu:
bind: $SNAP/usr/lib/x86_64-linux-gnu
,但不是false。由于您期望一个整数:
true