【问题标题】:Convert null to string将 null 转换为字符串
【发布时间】:2012-04-12 09:29:48
【问题描述】:

是否可以用php将null转换为string

例如,

$string = null;

$string = "null";

【问题讨论】:

    标签: php null isnull


    【解决方案1】:
    if ($string === null)
    {
      $string = "null";
    }
    

    【讨论】:

    • 如果字符串为空'',则不会执行所需的操作,因为PHP 的== 运算符认为null 等于空字符串。这就是为什么接受的答案使用 === 运算符来代替。请参阅PHP type comparison tables,向下滚动到标有“Loose comparisons with ==”的表格。
    【解决方案2】:

    我错过了什么吗?

    if ($string === null) {
        $string = 'null';
    }
    

    正在考虑一些更短的...

    你可以在一行中完成,omitbraces:

    if ($string === null) $string = 'null';
    

    你也可以使用the conditional operator:

    $string = ($string === null) ? 'null' : $string;
    

    您的电话。

    【讨论】:

    • 不,你没有。我只是认为可能有一种方法可以不使用 if 条件...猜不是:-)
    • 使用if有什么问题?
    • 我认为这个用例只是 $str = "ergergegE".($string === null ? "null" : $string)."ergegrregege";它很长的字符串:) $str= "regregrege".json_encode($string)."ergegergerge";最短且普遍
    【解决方案3】:

    var_export 可以表示可解析字符串中的任何变量。

    【讨论】:

      【解决方案4】:

      它有最好的解决方案:

      $var = null;
      $stringNull = json_encode($var);
      $null = json_decode($stringNull, true);
      var_dump($stringNull);
      var_dump($null);
      

      【讨论】:

      • 似乎是最慢且过于复杂的
      【解决方案5】:

      虽然不是很优雅或易读,但您也可以执行以下操作

      is_null($string) && $string = 'null';  // assignment, not a '==' comparison
      
      // $string is 'null'
      

      $string = is_null($string) ? gettype($string) : $string;
      
      // $string is 'NULL'
      

      注意:var_export($string, true)(在其他回复中提到)返回'NULL'

      【讨论】:

        【解决方案6】:

        在 PHP 7 中,您可以使用 Null coalescing operator ??

        $string = $string ?? 'null';
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2022-01-08
          • 2020-06-20
          • 1970-01-01
          • 1970-01-01
          • 2010-09-08
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多