如何检查URL查询字符串中的重复值


How to check for duplicate value in URL query string

如何检测URL查询字符串中的重复密钥:

示例:

http://example.com/investments?sector[112-122-111-106-111-123-109-123]

应导致111123被标记为重复。

我认为最好的方法是将所有值放入一个数组中,并使用它来检查:

if(count(array_unique($array))<count($array))
{
    // Array has duplicates
}
else
{
    // Array does not have duplicates
}

function has_dupes($array){
 $dupe_array = array();
 foreach($array as $val){
  if(++$dupe_array[$val] > 1){
   return true;
  }
 }
 return false;
}

甚至

function showDups($array)
{
  $array_temp = array();
   foreach($array as $val)
   {
     if (!in_array($val, $array_temp))
     {
       $array_temp[] = $val;
     }
     else
     {
       echo 'duplicate = ' . $val . '<br />';
     }
   }
}

$array = array(1,2,2,4,5);
showDups($array);