计算多维数组中的重复值 [英] Count duplicate values in multidimensional array

查看:63
本文介绍了计算多维数组中的重复值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我需要在多维数组中计算相同的值,并删除重复项.

I need to count the same values in multidimensional array and remove the duplicates.

我的数组:

$r = [
    ['a','b'],
    ['a','b'],
    ['c','d'],
    ['c','d'],
    ['c','d'],
    ['e','f'],
];

需要输出:

[0] => Array
    (
        [0] => a
        [1] => b
        [1] => 2 // Result
    )

[1] => Array
    (
        [0] => c
        [1] => d
        [1] => 3 // Result
    )

[2] => Array
    (
        [0] => e
        [1] => f
        [1] => 1 // Result
    )

非常感谢您的帮助.

推荐答案

<?php
$r = [
    ['a','b'],
    ['a','b'],
    ['c','d'],
    ['c','d'],
    ['c','d'],
    ['e','f'],
];
foreach($r as $arr)
{
  $o[implode(',', $arr)][] = 1;
}
$output = [];
array_walk($o, function($v, $k) use(&$output){
    $output[] = array_merge(explode(',', $k), [count($v)]);
});
var_dump($output);

和输出:

array(3) {
  [0]=>
  array(3) {
    [0]=>
    string(1) "a"
    [1]=>
    string(1) "b"
    [2]=>
    int(2)
  }
  [1]=>
  array(3) {
    [0]=>
    string(1) "c"
    [1]=>
    string(1) "d"
    [2]=>
    int(3)
  }
  [2]=>
  array(3) {
    [0]=>
    string(1) "e"
    [1]=>
    string(1) "f"
    [2]=>
    int(1)
  }
}

这篇关于计算多维数组中的重复值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆