【问题标题】:PHP boolean to string with modification & a conditionPHP布尔到带有修改和条件的字符串
【发布时间】:2010-09-08 20:04:51
【问题描述】:

echo是一个布尔值(真或假)时,PHP 将其转换为1<nothing> 并显示它。例如:

$x = true; echo $x; //displays: 1
$x = false; echo $x; //displays: <nothing>

我的问题:如果变量是布尔值 否则 只显示 PHP 通常会显示它。

【问题讨论】:

    标签: php boolean conditional-statements


    【解决方案1】:

    我一直在寻找这样做,但需要在没有函数的情况下内联它,所以我只使用了:

    echo(is_bool($x) ? ($x ? "true":"false"):$x);
    

    不是最容易阅读,但可以完成工作!

    【讨论】:

      【解决方案2】:

      是的,可以这样轻松编码:

      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  
      

      【讨论】:

        【解决方案3】:
        str_replace(array(0, 1), array("No", "Yes"), str_pad(headers_sent(), 1, "0"))
        

        我将headers_sent() 用作布尔变量。

        【讨论】:

          【解决方案4】:

          我遇到了这个问题,发现了这个问题,但答案并不是我所需要的,所以我解决了这个问题:

          array_pop(array_keys(array('FALSE' => false,'TRUE' => true), [bool]))

          简单地获取 [bool] 的打印(回显)字符串值,将 [bool] 替换为您知道是 bool 的变量。

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

          【讨论】:

          • 这可行,但会严重影响性能。最好编写一个函数,为该值返回适当的字符串。
          猜你喜欢
          • 2017-07-15
          • 2022-01-06
          • 1970-01-01
          • 2020-12-26
          • 1970-01-01
          • 2014-03-30
          • 1970-01-01
          • 2021-05-23
          • 2015-08-19
          相关资源
          最近更新 更多