如何阻止PHP结果中列出重复项?

如何阻止PHP结果中列出重复项?,php,search,Php,Search,我编写了一个PHP脚本,为网站上的列表分配分数,并将其分配到结果页面。我已经得到了它的工作,因为它显示的分数和细节,但它不断列出相同的结果一遍又一遍 我不知道它在做什么,但我希望有一小部分代码可以防止重复列表。有谁能给它一个调整,看看我是不是要拧在什么地方 代码是: $dupCatch .= $adId.","; $dupResults = explode(',', $dupCatch); foreach($dupResults as $dupResult){ if($dupResul

我编写了一个PHP脚本,为网站上的列表分配分数,并将其分配到结果页面。我已经得到了它的工作,因为它显示的分数和细节,但它不断列出相同的结果一遍又一遍

我不知道它在做什么,但我希望有一小部分代码可以防止重复列表。有谁能给它一个调整,看看我是不是要拧在什么地方

代码是:

$dupCatch .= $adId.","; 
$dupResults = explode(',', $dupCatch);

foreach($dupResults as $dupResult){

  if($dupResult == $adId){
    print "";
  } else {
    print $showResults;
    $scoreBox = 'THIS IS THE SCORE: '  . $finalScore . '';
    print $scoreBox;
  }

}
提前谢谢


Jack

您可以尝试从php端使用
array\u unique
,或者在mysql中的字段中使用unique attribute,这样在插入之前就可以防止重复。

问题是,在检查是否存在当前的
$adId
之前,您需要将其添加到重复列表中,当然,它总是存在的

将一组数字存储在一个字符串中,
每次分解它都有点奇怪,请改用数组。您也不需要手动循环所有项目,只需使用


不用说:首先修复提供重复结果的部分是一个更好的主意。

在循环中没有任何地方可以更改$finalScoare、$showResults或$scoreBox的值。你想知道为什么什么都没变?嗨,有一个流氓“飞来飞去”复制了第一个条目。我对PHP并不陌生,但以前从未使用过explode函数,并且错误地认为我可以使用它。谢谢你的解决方案,男人很有魅力!!
if( !in_array($adId, $dupCatch) ){
    print $showResults;
    $scoreBox = 'THIS IS THE SCORE: '  . $finalScore . '';
    print $scoreBox;
}

$dupCatch[] = $adId;