Если вы хотите найти все значения, которые дублируются в массиве, вы можете сделать что-то вроде этого:
// Array to search:
$array = array('one', 'two', 'three', 'one');
// Array to search:
// $array = array('a'=>'one', 'b'=>'two', 'c'=>'three', 'd'=>'one');
// Temp array so we don't find the same key multipule times:
$temp = array();
// Iterate through the array:
foreach ($array as $key)
{
// Check the key hasn't already been found:
if (!in_array($key, $temp))
{
// Get an array of all the positions of the key:
$keys = array_keys($array, $key);
// Check if there is more than one position:
if (count($keys)>1)
{
// Add the key to the temp array so its not found again:
$temp[] = $key;
// Do something...
echo 'Found: "'.$key.'" '.count($keys).' times at position: ';
for($a=0;$a<count($keys);$a++)
{
echo $keys[$a].',';
}
}
}
}
Вывод из вышеизложенного будет:
Найдено: «один» 2 раза в позициях:
0,3
Если бы в вашем массиве были пользовательские ключи (как в массиве с комментариями) , то результат будет:
Найдено: «один» 2 раза в позициях: a, d,