PHP foreach循环显示特定项目

时间:2013-07-10 17:26:01

标签: php loops foreach

好的,所以我的循环有6项(评论),如下所示。

  • User1评论
  • User2评论
  • User1评论
  • User1评论
  • User3评论
  • User4评论

如果我对4条评论加以限制,这就是我得到的

  • User1评论
  • User2评论
  • User1评论
  • User1评论

但是,我希望能够消除相同的用户评论,而不是显示其他人。看起来应该是这样的。

  • User1评论
  • User2评论
  • User3评论
  • User4评论

我怎样才能做到这一点?

    foreach($latestcomments as $comment){

    echo $comment->content;

    }

2 个答案:

答案 0 :(得分:2)

$shown = array();

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

如果用户之前没有“显示”,则会显示评论。如果他们有,评论将被简单地跳过。

答案 1 :(得分: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;}
 }
}