输出 php 数组中的所有元素并计算它们的出现次数

Output all elements from php array and count their occurrences

这是我的多维数组的一部分:

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
        )
)

我的目标是获取 ID 为 [0] 的所有元素,而不重复相同的元素,但将它们出现的次数放在括号中,如下输出:

101
102(3)
30
test(2)

PHP >= array_column() 需要 5.5.0:

$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)); 它会 return 您计算您需要的数量。

$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 )