也许标题不能解释我的问题,请看我的例子:
我有一个像这样的多维数组:
Array
(
[0] => Array
(
[name] => 'A'
[ec_dest_name] => 楽天testuser_998
),
[1] => Array
(
[name] => 'A'
[ec_dest_name] => 楽天testuser_998
),
[2] => Array
(
[name] => 'B'
[ec_dest_name] => 楽天testuser_998
),
[3] => Array
(
[name] => 'C'
[ec_dest_name] => 楽天testuser_998
)
)
我想通过键 name
对元素进行计数,这意味着我想返回一个数组,如下所示:
Array ('A' => 2 , 'B'=>1, 'C'=>1)
任何快速的方法来实现这一点,我可以循环数组并计数,但我认为这不是一个好主意
提前致谢
最佳答案
您可以同时使用array_count_values
和array_column
-
$counts = array_count_values(array_column($your_array, 'name'));
输出
array(3) {
["A"]=>
int(2)
["B"]=>
int(1)
["C"]=>
int(1)
}
正如Mark Baker对旧PHP版本的建议 -
$counts = array_count_values(
array_map(function($value) {
return $value['name'];
}, $your_array)
);
关于php - 计算多维数组php的键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38521103/