PHP boolean to string with modification&一个条件

时间:2010-09-08 20:04:52

标签: php boolean conditional-statements

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通常会显示它。

4 个答案:

答案 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]。

认为它可能会帮助其他人找到这个问题......