Одинаковые элементы массива

f0x
На сайте с 20.09.2006
Offline
116
f0x
20420

Есть массив


$arrr= array(
0 => 1,
1 => 2,
2 => 2,
3 => 2,
4 => 3,
5 => 3,
6 => 5
);

Как мне узнать одинаковые элементы и их количество?

Буду очень благодарен за подсказку

Алексей Барыкин
На сайте с 04.02.2008
Offline
272
#1

sort($arrr);

$oldvalue = $arrr[0];
$count = 0;
foreach($arrr as $value){
if ($value == $oldvalue){
$count++;
}
else{
echo "Элемент ",$oldvalue,", кол-во ",$count,"<br>";
$oldvalue = $value;
$count = 1;
}
}
echo "Элемент ",$oldvalue,", кол-во ",$count,"<br>";
P
На сайте с 10.03.2008
Offline
168
#2

Алексей Барыкин, легких путей не ищем? :) array_count_values

M
На сайте с 03.03.2004
Offline
43
#3

читать мануал по РНР и пользоваться встроенными функциями не модно?

f0x, одной командой <? print_r(array_count_values($arrr)); ?>

Дневник БоГа (http://www.seriousrevenue.com/). Лента SEO форумов (http://www.seriousrevenue.com/scripts/rubot/). Статистика денег (http://www.seriousrevenue.com/scripts/rate/).
BP
На сайте с 02.04.2008
Offline
25
#4

<?php

$a= array(
0 => 1,
1 => 2,
2 => 2,
3 => 2,
4 => 3,
5 => 3,
6 => 5
);
print_r(array_diff(array_count_values($a), array('1')));
?>
f0x
На сайте с 20.09.2006
Offline
116
f0x
#5

Всем спасибо

Алексей Барыкин:
sort($arrr);

$oldvalue = $arrr[0];
$count = 0;
foreach($arrr as $value){
if ($value == $oldvalue){
$count++;
}
else{
echo "Элемент ",$oldvalue,", кол-во ",$count,"<br>";
$oldvalue = $value;
$count = 1;
}
}
echo "Элемент ",$oldvalue,", кол-во ",$count,"<br>";

Алексей. Спасибо то что нужно.

monstring:
читать мануал по РНР и пользоваться встроенными функциями не модно?
f0x, одной командой <? print_r(array_count_values($arrr)); ?>

Читать конечно модно, но много функций для массивов array_count_values не нашел и ранее никогда не доводилось использовать.

BlizzPSL:
<?php

print_r(array_diff(array_count_values($a), array('1')));
?>

Этот вариант не подходит так как возврашает только элементы которые более 1

раза встречаются.

В моем случае больше подошел вариант Алексея, так как array_count_values возвращает масив, мне все равно нужно будет ко всем элементам обращаться и тут уже готовый проход по массиву))

Алексей Барыкин
На сайте с 04.02.2008
Offline
272
#6
pistol:
Алексей Барыкин, легких путей не ищем? :) array_count_values
monstring:
читать мануал по РНР и пользоваться встроенными функциями не модно?
f0x, одной командой <? print_r(array_count_values($arrr)); ?>

О сколько нам открытий чудных приносит... мануал! ☝

N
На сайте с 14.06.2004
Offline
107
#7

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий