php:如何检查数组是否为空

时间:2012-12-03 11:43:26

标签: php

如何判断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";
        }
  }

4 个答案:

答案 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(
.........
}