PHP值没什么?

时间:2010-03-09 16:39:29

标签: php mysql

如果有一段代码从sql数据库获取一些数据

$comms = $row['comments'] ; 

if ($comms != "") {
  $tooltip = "<b>Notes :</b> $comms </br>  ";  
}

我想要做的是仅在数据中有内容时才显示结果。我使用if语句来确定$ comms中是否有任何数据,但我尝试的所有内容(“”“”0 false)都返回true。返回时没有任何值(尽管我没有包含所有代码,我向你保证在$ comms中返回了一个值)

任何帮助都会很棒,谢谢

5 个答案:

答案 0 :(得分:7)

if (!empty($comms)) {
  $tooltip = "<b>Notes :</b> $comms </br>  ";  
}

请参阅http://php.net/manual/en/function.empty.php

如果您可能从数据库中获得仅包含空格的值(我怀疑它,但无论如何),您将首先想要trim该变量:

$comms = trim($comms);
if (!empty($comms)) {
  $tooltip = "<b>Notes :</b> $comms </br>  ";  
}

回应@anthares评论(来自manual):

  

考虑以下事项   是空的:

     
      
  • “”(空字符串)
  •   
  • 0(0为整数)
  •   
  • “0”(0作为字符串)
  •   
  • NULL
  •   
  • FALSE
  •   
  • array()(空数组)
  •   
  • var $ var; (声明的变量,但在类中没有值)
  •   

答案 1 :(得分:3)

is_null($foo)

提议:

  

变量被视为null   如果:

     
      
  • 已为其分配常量 NULL
  •   
  • 尚未设置为任何值。
  •   
  • 它已经 unset()
  •   

http://php.net/manual/en/language.types.null.php

答案 2 :(得分:1)

使用===!==运算符检查值类型。

答案 3 :(得分:0)

使用is_null ( mixed $var )功能:

if (!is_null($comms)){
  $tooltip = "<b>Notes :</b> $comms </br>  ";  
}

答案 4 :(得分:-3)

你可以试试这个:

$comms = $row['comments'] ; 

if (!isEmpty($comms)) {
    $tooltip = "<b>Notes :</b> $comms </br>  ";  
}

Null-checking也可以起作用(如同anthares建议的那样)