1

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

4 に答える 4

9

空になることはありません。ただし、データが使い果たされると、mysql_fetch_array戻っfalseてループが終了するため、とにかくループ内にデータが表示されることはありません。

于 2012-12-03T11:45:04.450 に答える
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
}
于 2012-12-03T11:45:01.797 に答える
2

次のようにコードを更新します。

$num=mysql_num_rows($result);
    if ($num>0) {
        echo '$var is either 0, empty, or not set at all';
    }
    else{
        echo "no content";
    }
于 2012-12-03T11:47:23.380 に答える
1

クエリから返される行がない場合、条件がfalseであるため、このコードはwhileブロックに入ることがありません....次のように記述できます。

$num=mysql_num_rows($result);

これにより、行数が返され、次のように記述されます。

if($num==0) {echo "no content";}
else
{
while(
.........
}
于 2012-12-03T11:48:49.920 に答える