PHP:在多维数组中计算相同的值

Fel*_*ard 1 php arrays multidimensional-array

我想在多维数组的最深/最后一级计算相同的值:

Array
(
[svote001] => Array
    (
        [0] => 006
        [1] => 006
        [2] => 007
    )

[svote002] => Array
    (
        [0] => 000
        [1] => 000
        [2] => 000
    )

[svote003] => Array
    (
        [0] => 002
        [1] => 003
        [2] => 001
    )
)
Run Code Online (Sandbox Code Playgroud)

转换成

Array
(
[svote001] => Array
    (
        [006] => 2
        [007] => 1
    )

[svote002] => Array
    (
        [000] => 3
    )

[svote003] => Array
    (
        [001] => 1
        [002] => 1
        [003] => 1
    )
)
Run Code Online (Sandbox Code Playgroud)

计数值还应该从高到低的数字排序.

Abr*_*ver 6

foreach($array as $k => $v) {
    $result[$k] = array_count_values($v);
    arsort($result[$k]);
}
Run Code Online (Sandbox Code Playgroud)
  • 循环遍历数组(公开键)以访问每个内部数组
  • 计算内部数组的值(值为key,count为value)
  • 按保留键的值(计数)排序