0

好的,所以我有一个包含 6 个项目(评论)的循环,如下所示。

  • 用户 1 条评论
  • 用户 2 评论
  • 用户 1 条评论
  • 用户 1 条评论
  • 用户 3 评论
  • 用户4 评论

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

  • 用户 1 条评论
  • 用户 2 评论
  • 用户 1 条评论
  • 用户 1 条评论

但不是那样,我希望能够消除相同的用户评论,而是向其他人展示。它应该是这样的。

  • 用户 1 条评论
  • 用户 2 评论
  • 用户 3 评论
  • 用户4 评论

我怎样才能做到这一点?

    foreach($latestcomments as $comment){

    echo $comment->content;

    }
4

2 回答 2

3
$shown = array();

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

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

于 2013-07-10T17:29:19.487 回答
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;}
 }
}
于 2013-07-10T17:59:28.023 回答