Php stristr生成的重复条目

Php stristr生成的重复条目,php,Php,当使用stristr按关键字过滤JSON时,我不断得到重复的条目(确切地说是4条)。我的代码示例如下所示: $keywords = array('small','medium','large'); foreach($keywords as $keyword) { foreach ($data as &posts) { if(stristr($posts['message'],$keyword) !== FALSE ) { print_r($posts);

当使用stristr按关键字过滤JSON时,我不断得到重复的条目(确切地说是4条)。我的代码示例如下所示:

$keywords = array('small','medium','large');

foreach($keywords as $keyword) {
foreach ($data as &posts) {
    if(stristr($posts['message'],$keyword) !== FALSE ) {
        print_r($posts);
        }
        }
        }
执行以下操作时,重复项为零:

foreach ($data as &posts) {
    print_r($posts);
    }

我尝试了
array\u uniq
,但没有成功。有人能给我指一下正确的方向吗?有更好的方法对JSON进行排序吗?

重复的帖子是否匹配多个关键字?如果是这样的话,每一场比赛都会打印出来

如果要在每个匹配项中只打印一次每篇文章,请首先循环浏览这些文章,并在找到关键字匹配项时停止检查文章:

foreach ($data as &posts) {
  foreach($keywords as $keyword) {
    if(stristr($posts['message'],$keyword) !== FALSE ) {
        print_r($posts);
        break;
    }
  }
}

将此更改为:if(stristr($posts['message'],$keywords)!==FALSE){更改为:if(stristr($posts['message'],$keywords)!==FALSE){可能是吗?您的
$keyword
缺少结尾处的
s
。请确保您使用的是同一个变量。我向Maximus2012和mavili致歉。您对$keyword的看法都是正确的。我犯了一个错误,没有在示例中包含一行代码。这很有效,但仍有一些重复(2x)。最初我有4个副本,现在只有一个额外的集合。如果没有看到数据,很难说更多。无法在这里复制。终于成功了!!!感谢Paul Roub、mavili和Maximus2012!!。我在循环后添加了
中断;
,然后执行了
数组uniq
函数,它成功了!