2013-07-10 130 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;} 
} 
}