Это часть моего многомерного массива:
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)
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)";
}
Вы можете просто использовать 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 )