如果有一段代码从sql数据库获取一些数据
$comms = $row['comments'] ;
if ($comms != "") {
$tooltip = "<b>Notes :</b> $comms </br> ";
}
我想要做的是仅在数据中有内容时才显示结果。我使用if语句来确定$ comms中是否有任何数据,但我尝试的所有内容(“”“”0 false)都返回true。返回时没有任何值(尽管我没有包含所有代码,我向你保证在$ comms中返回了一个值)
任何帮助都会很棒,谢谢
答案 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()。
答案 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建议的那样)