我认为这可能有点愚蠢,但我仍然想知道是否有内置的方式来返回false或true,因为它们看起来而不是0或1,实际上这个代码甚至没有& #39; t写0但是1:
<?php
$array = array(1,2,3);
echo (bool) $array;
?>
所以我希望这段代码能够写出&#34; true&#34;或&#34;假&#34;而不是数值。我知道我可以建立一个功能但我的好奇心喜欢学习内置的方法,如果有的话。
答案 0 :(得分:6)
只需使用conditional operator:
echo (true ? 'true' : 'false');
echo (false ? 'true' : 'false');
答案 1 :(得分:5)
echo
布尔值将始终打印0或1.而是使用var_dump()
。
另一个选择是根据值:
回显'true'或'false'echo ((bool)$array) ? 'true' : 'false'
答案 2 :(得分:1)
var_export()打印类型和结果。
echo var_export((bool)$array, 1);
答案 3 :(得分:0)
我认为主要的问题是将数组ELEMENTS转换为布尔值,而不是整个数组。
您可以使用函数array_map
。
function conv2bool($i) { return (bool) $i; }
$int_array = array(0,1,0,2,3);
$bool_array = array_map("conv2bool", $int_array);
var_dump($bool_array);
......这将返回:
array(5) { [0]=> bool(false) [1]=> bool(true) [2]=> bool(false) [3]=> bool(true) [4]=> bool(true) }