PHP – 获取布尔虚假时回显false

出于某种原因,以下代码不会打印出任何内容:

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

但是下面的代码打印出1:

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

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

编辑:将第二个语句从false更改为true

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

或者,如果你只想输出它是假的:

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

这是最简单的方法:

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

要么

 var_export($bool_value) 

如果第二个参数不是真的,它会直接输出结果。

不,因为另一个select是修改Zend引擎,并且很难将其称为“更好的方法”。

编辑:

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

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

我喜欢这个打印出来

 var_dump ($var); 

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

  echo (int)$bool_val; 

这将打印出布尔值,而不是1/0。

  $bool = false; echo json_encode($bool); //false 

在我看来,实现所需结果的最好方法是使用var_export

这将始终打印一个值(而不是默默地隐藏nullfalse ),但它会给你关于你正在打印的信息。 var_export告诉你你有什么价值,它试图从字面上打印你的价值,这样你可以复制/粘贴结果到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' 

当然,如果你严格要求一个“布尔”string,你可以像下面的例子那样转换为一个布尔值,但是要注意转换“陷阱”!

 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 
 echo(var_export($var)); 

$var是布尔variables时, truefalse将被打印出来。

这给了01

 intval($bool_val); 

PHP手册:intval函数

您可以使用三元运算符

 echo false ? 'true' : 'false'; 

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 

如果你不熟悉它:你可以给这个函数一个任意数量的参数,而第一个应该是你的输出string加香取代string如%b%s一般stringreplace。

每个模式将按照顺序由参数replace:

 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"); 

json_encode会立即执行,但不是很漂亮(缩进等):

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

…给…

 {"whatever":true,"somethingelse":false} 
 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"