当echo
布尔值(true或false)时,PHP会将其转换为1
或<nothing>
并显示它。 e.g:
$x = true; echo $x; //displays: 1
$x = false; echo $x; //displays: <nothing>
我的问题:是否存在PHP函数(如果不是如何编码),如果变量是a,则可以显示“true”或“false”(而不是1或无)布尔否则只显示,因为PHP通常会显示它。
答案 0 :(得分:8)
我一直在寻求这样做但是需要在没有功能的情况下在线进行,所以我只是使用了:
echo(is_bool($x) ? ($x ? "true":"false"):$x);
不是最容易阅读但完成任务的工作!
答案 1 :(得分:7)
是的,它可以像这样轻松编码:
function var_to_str($in)
{
if(is_bool($in))
{
if($in)
return "true";
else
return "false";
}
else
return $in;
}
//Test it now
echo var_to_str("this is string") . PHP_EOL;
echo var_to_str(123) . PHP_EOL;
echo var_to_str(true) . PHP_EOL;
echo var_to_str(false) . PHP_EOL;
输出:
this is string
123
true
false
答案 2 :(得分:1)
str_replace(array(0, 1), array("No", "Yes"), str_pad(headers_sent(), 1, "0"))
我使用headers_sent()
作为BOOLEAN变量。
答案 3 :(得分:0)
我有这个问题,找到了这个问题,答案并不是我需要的,所以我解决了这个问题:
array_pop(array_keys(array('FALSE'=&gt; false,'TRUE'=&gt; true),[bool]))
简单地获取[bool]的打印(回显)字符串值,用您知道为bool的变量替换[bool]。
认为它可能会帮助其他人找到这个问题......