0

使用 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_uniq但没有成功。有人可以指出我正确的方向吗?有没有更好的方法来对 JSON 进行排序?

4

1 回答 1

0

重复的帖子是否匹配多个关键字?如果是这样,它们将为每场比赛打印。

如果您希望每次匹配只打印每个帖子一次,请先循环浏览帖子,然后在找到关键字匹配时退出检查帖子:

foreach ($data as &posts) {
  foreach($keywords as $keyword) {
    if(stristr($posts['message'],$keyword) !== FALSE ) {
        print_r($posts);
        break;
    }
  }
}
于 2013-07-22T01:44:12.557 回答