如何判断php数组是否为空?我尝试了不同的方法,但它永远不会到达echo "no content";
while($row = mysql_fetch_array($result))
{
if(count($row['link']))
{
echo '<a id="link_' . $row['Id'] . '" href="' . $row['link'] . '" data="/short_info.php?id=' . $row['Id'] . '/">' . $row['title'] . '</a><div class="in...
}
else
{
echo "no content";
}
}
答案 0 :(得分:9)
它永远不会是空的。但是当数据耗尽时,mysql_fetch_array
会返回false
并且您的循环结束,所以无论如何您都不会在循环中看到它。
答案 1 :(得分:5)
$ row是一个数组。 $ row ['link']只是一个字符串。所以你可以使用:
if (strlen($row['link'])==0) {
//do something
}
但是如果你想检查没有结果(没有来自mysql的数据行)那么你可以使用:
if (mysql_num_rows($result)==0)
echo "no content"
else {
//your while loop
}
答案 2 :(得分:2)
更新您的代码,如:
$num=mysql_num_rows($result);
if ($num>0) {
echo '$var is either 0, empty, or not set at all';
}
else{
echo "no content";
}
答案 3 :(得分:1)
如果查询中没有返回任何行,则此代码将永远不会进入while块,因为条件为false .... 你可以写:
$num=mysql_num_rows($result);
这将返回行num,然后你写:
if($num==0) {echo "no content";}
else
{
while(
.........
}