@dj_vadim

Как подсчитать количество всех повторений элементов в массиве?

Есть массив из m элементов. Внутри каждого элемента массив из n элементов. Как мне посчитать количество повторений элемента n в любом массиве m? Например в первом массиве "3189571" повторяется элемент "335976945" он под номером 1 и 5. В результате нужно вывести все повторяющиеся элементы с количеством его повторения во всём большом массиве.
В нашем массиве повторяется число "335976945" => 5 раз, так нужно и вывести на экран.
Думаю можно проверять функцией in_array() или делать вложенные циклы, но функция вернут только один результат да или нет, а повторений может быть много.
Array
(
[3189571] => Array
(
[0] => 128109610
[1] => 335976945
[2] => 153433703
[3] => 144128186
[4] => 308071488
[5] => 335976945
[6] => 323896635
[n] => ...
)

[3189630] => Array
(
[0] => 335976945
[1] => 341021680
)

[3189566] => Array
(
[0] => 175001040
[1] => 335976945
[2] => 180405054
[3] => 314998956
[4] => 347133292
[n] => ...
)

[m] => Array
(
[0] => 335976945
[n => ...
)
)
  • Вопрос задан
  • 1181 просмотр
Решения вопроса 1
miraage
@miraage
Старый прогер
flatten массива, а потом array_count_values.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
VladimirAndreev
@VladimirAndreev
php web dev
$data = [];

array_walk_reqursive(
$input,
function($value) use (&$data) {
if(!isset($data[$value]) {
$data[$value] = 0;
}
++$data[$value];
});

print_r($data);
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы