显示空值,尽管 if 语句要摆脱它


Null value showing, despite if statement to get rid of it

我有以下代码(见下文)...if 语句应该检查 $re_broker 是否有值(并且不为 null)...但是,if 语句显示具有"null"值的代码。

我已经尝试了以下每个 if 语句...

// isset($re_broker)
// $re_broker!=''
// !empty($re_broker)
// $re_broker!='null'
// $re_broker!=null

。但没有一个奏效。 为什么会发生这种情况?以及如何解决它?我确定这是一件简单的事情,但我无法弄清楚。

<?php
if(!empty($re_broker)) { ?>
     <div class="auth-box auth-outline broker">
          <div class="auth-txt"><?php echo $re_broker; ?></div>
     </div>
     <div class="clear"></div><?php
}
?>

如果您在屏幕上看到"null"字,则表示$re_broker是一个包含"null"的字符串,而不是实际上NULL。真正的空变量不应计算为 echo 上的任何字符串。调查并可能发布设置变量的代码。

在PHP中,一个非空字符串的计算结果是TRUE,不管它包含什么字符。所以"false" == TRUE"null" == TRUE.可能有点棘手。这就是为什么你的代码块尽管"null"但它仍在运行

此外,您应该简单地使用 isset()is_null() 来测试 NULL。像empty()这样的函数不仅仅是对 NULL 的测试。