Вывести все элементы из массива php и подсчитать их появления

Это часть моего многомерного массива:

Array
(
[0] => Array
(
[0] => 101
[1] => ...
)

[1] => Array
(
[0] => 102
[1] => ...
)

[2] => Array
(
[0] => 102
[1] => ...
)

[3] => Array
(
[0] => 102
)

[4] => Array
(
[0] => 300
)

[5] => Array
(
[0] => test
)

[6] => Array
(
[0] => test
)
)

Моя цель — получить все элементы с идентификатором [0], не повторяя одни и те же элементы, но с количеством их вхождений в скобках, например:

101
102(3)
30
test(2)

-2

Решение

PHP> = 5.5.0, необходимый для array_column():

$result = array_count_values(array_column($array, 0));

За < 5.5.0 заменить array_column() с:

array_map(function($v) { return $v[0]; }, $array)

Затем:

foreach($result as $k => $v) {
echo "$k ($v)";
}
3

Другие решения

Вы можете просто использовать print_r(array_count_values($array)); и он вернет вам счет, что вам нужно.

$array = array(101, 102, 103, 103, 103, 104, 104, 105, 106, 106, 106, 106, 7);
print_r(array_count_values($array));

Result:

Array
( [1] => 1 ,[2] => 1 , [3] => 3, [4] => 2,[5] =>1, [6] => 4, [7] => 1 )
0

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector