2013-07-10 128 views
0

好的,所以我有循環,其中有6項(評論),如下所示。PHP foreach循環顯示特定項目

  • 用戶1評論
  • 用戶2評論
  • 用戶1評論
  • 用戶1評論
  • 用戶3評論
  • 用戶4評論

如果我把限制4註釋這是我獲得

  • 用戶1評論
  • 用戶2評論
  • 用戶1評論
  • 用戶1評論

但不是我希望能夠消除同一用戶的意見,而是告訴別人。它應該是這樣的。

  • 用戶1評論
  • 用戶2評論
  • 用戶3評論
  • 用戶4評論

我怎樣才能做到這一點?

foreach($latestcomments as $comment){ 

    echo $comment->content; 

    } 
+0

你想顯示最近每個用戶對此有何評論? – user20232359723568423357842364

+0

只有一個循環是不可能的。你至少需要兩個:一個找出你有什麼樣的評論,然後輸出它們。 – djot

+0

@ user20 ...如果需要的話,不是循環不正確,而是取數據的方式。 – djot

回答

2
$shown = array(); 

foreach($latestcomments as $comment) { 
    if(!isset($shown[$comment->user])) { 
    $shown[$comment->user] = true; 
    echo $comment->content; 
    } 
} 

如果用戶還沒有被「顯示」之前,註釋將顯示。如果他們有,評論將被簡單地跳過。

+0

加上$ limit ++和$ limit <= 4 – djot

+0

歡呼,就像一個魅力。 – Johsas

0

標識做這樣的......

$user = ""; $i=0; 

foreach($latestcomments as $comment) { 
if($i<=4){ 
    if($comment->user!=$user){ 
    echo $comment->content; 
    $user = $comment->user; 
    $i++;} else { $user = $comment->user;} 
} 
}