2012-01-02 94 views
0

如果第一個結果爲空,我無法讓我的PHP腳本回顯第二個else語句。防止PHP打印空數組結果?

我的腳本目前的工作方式是「打印地址(來自另一個數組)」>列表註釋「,但是即使評論爲空的地址是打印評論或沒有,我不能讓腳本回聲詞「無評論」。

if(!empty($row['id'])) 
     { 
     echo "$row[comment]<br/>"; 
     } 
     else 
     { 
      echo "no comment<br/>"; 
     } 

任何幫助表示讚賞。謝謝。

+0

嘗試'的var_dump($行)'清楚地看到你的數組包含。將其與[類型比較表](http://www.php.net/manual/en/types.comparisons.php)進行匹配,以查看發生了什麼。 – cmbuckley 2012-01-02 22:47:40

回答

4

假設這是來自數據庫,每一行都有一個id,這將總是是真實的:

if(!empty($row['id'])) 

嘗試:

if(!empty($row['comment'])) 

如果id是別的東西,同樣的邏輯適用於:檢查打算打印的值:

if (!empty($row['id']) && !empty($row['comment'])) 
{ 
    echo $row['comment'].'<br/>'; 
} 
else 
{ 
    echo "no comment<br/>"; 
} 

編輯:如果這個代碼是通過連接到後或東西全部評論循環,絕不會有任何輸出,如果有沒有評論遍歷。在這種情況下,嘗試這樣的:

if (count($comments) === 0) 
{ 
    echo "no comments<br />"; 
} 
else 
{ 
    foreach ($comments as $row) 
    { 
     if (!empty($row['comment'])) 
     { 
      echo $row['comment'].'<br />'; 
     } 
     else 
     { 
      echo "no comment<br />"; 
     } 
    } 
} 

OR:

$comment_count = 0; 

foreach ($comments as $row) 
{ 
    if (!empty($row['comment'])) 
    { 
     echo $row['comment'].'<br />'; 
     $comment_count++; // We have at least one comment 
    } 
    else 
    { 
     echo "no comment<br />"; 
    } 
} 

if ($comment_count === 0) echo 'no comments<br />'; 
+0

你好,我試過這個,但是它仍然和以前一樣回聲。 爲了讓你更好地瞭解我正在嘗試做什麼,我附上了一張截圖[鏈接](http://img.photobucket.com/albums/v638/lisss001/ScreenShot2012-01-02at225454.png)[/鏈接] IT首先通過屬性,然後顯示其相關的評論。我只是不能爲我的生活找出爲什麼它不會隱藏空白條目。在附加的屏幕截圖上,這些頁面顯示爲黃色的線條(css應該包圍結果)。 感謝您的幫助到目前爲止... – liveman 2012-01-02 22:56:51

+0

我猜測你的問題是什麼,如果這不能幫助你將需要添加完整的相關代碼到您的文章。 – 2012-01-02 23:12:57

+0

那麼評論打印沒有問題。結果從數據庫中提取,並且評論被拉出(並列出)。如果房屋的ID與評論的房屋相匹配,則使用陣列列出評論(並按順序打印)。 – liveman 2012-01-02 23:19:03