【问题标题】:How to check whether variable is null or not in PHP如何在PHP中检查变量是否为空
【发布时间】:2013-09-05 07:33:02
【问题描述】:

在 PHP 中,

我正在使用一个名为 $token 的变量。

我想检查它的值是否为空。我尝试在 if 条件下检查empty/isset/is_null。但它没有工作。

当我使用error_log($token) 打印它的值时,它会给出如下输出:“(null)”。

因为在数据库中它的值为“(null)”。

我如何在php中检查它是否是(null)。

请指导我。

【问题讨论】:

  • 检查var_dump($token) 看看它是什么
  • 价值从何而来?我将从修复源代码开始,以便您可以使用 PHP 可以解析和理解的格式。
  • 它可能会返回一个名为“ (null) ”的字符串,如第一条评论中所述,var_dump 会有所帮助。如果是这样,那么您应该按照评论 2 的建议来检查是什么输出了“ (null)”

标签: php variables null


【解决方案1】:

看起来您不是在使用真正的 null,而是使用字符串 - 实际上是 '(null)'。所以检查一下,用...

if ($token === '(null)') { ... }

然而,更重要的是为什么这个值首先出现在数据库中。除非有非常具体(且有效)的理由这样做,否则您最好将空值(缺少信息)存储为纯 NULL 值,以避免在这种情况下在应用程序层和数据库层出现混淆。

【讨论】:

    【解决方案2】:

    你做的也是对的。 即使你可以有更多的选择 尝试以下条件

    1. if($token === null){....}
    2. if($token == null){....}
    3. if($token == ""){....}
    
    1. 初始化一些字符串变量

      $tmp_string = ""; $tmp_string .= $token if($tmp_string== ""){....}

    尝试以上所有。 万事如意....

    【讨论】:

      【解决方案3】:

      或最短路径

      if($token) echo 'not null';
      

      【讨论】:

        【解决方案4】:

        我使用strlen() condition解决了我的问题。谢谢大家的建议。

        【讨论】:

        • strlen($token) ,如果它可以被 16 整除(这是 iphone 设备令牌的属性),那么我可以做我想做的事。
        猜你喜欢
        • 2021-05-12
        • 1970-01-01
        • 2011-05-20
        • 2012-02-05
        • 2014-05-03
        • 1970-01-01
        相关资源
        最近更新 更多