php - 计算多维数组php的键

标签 php arrays

也许标题不能解释我的问题,请看我的例子:

我有一个像这样的多维数组:

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

$counts = array_count_values(array_column($your_array, 'name'));

输出

array(3) {
  ["A"]=>
  int(2)
  ["B"]=>
  int(1)
  ["C"]=>
  int(1)
}

Demo

正如Mark Ba​​ker对旧PHP版本的建议 -

$counts = array_count_values(
     array_map(function($value) { 
         return $value['name']; 
     }, $your_array)
);

关于php - 计算多维数组php的键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38521103/

相关文章:

php - mysql查询其他查询的结果集

c# - 如何计算数组的长度而不包括 NULL?

javascript - 合并按日期排序的对象数组

javascript - 如何在 javascript 中编写一个帮助器来将数组和字符串相乘?

php - 如何在 php 中将评论值附加到各个帖子

php - 使用 jQuery 和 PHP 实现长轮询

php - 在 PHP 中检测 iTunes 订阅状态

php - Cakephp:我如何将所有丢失的 Controller /操作调用路由到一个单一的一般错误页面?

javascript - 复制对象时,C# 中的 MemberwiseClone 与 Javascript 中的 = 执行相同操作吗

python - Matplotlib 和 Python 在二维上循环