在PHP中转换为布尔值

时间:2012-02-04 19:14:55

标签: php

  

可能重复:
  How to Convert Boolean to String

我认为这可能有点愚蠢,但我仍然想知道是否有内置的方式来返回false或true,因为它们看起来而不是0或1,实际上这个代码甚至没有& #39; t写0但是1:

<?php
$array = array(1,2,3);
echo (bool) $array;
?>

所以我希望这段代码能够写出&#34; true&#34;或&#34;假&#34;而不是数值。我知道我可以建立一个功能但我的好奇心喜欢学习内置的方法,如果有的话。

4 个答案:

答案 0 :(得分:6)

只需使用conditional operator

echo (true ? 'true' : 'false');
echo (false ? 'true' : 'false');

演示:http://codepad.org/hNHhXnBv

答案 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) }