PHP二维数组多字段去重

二位数组多字段去重

不指定一个字段去重,判断所有字段是否有重复

$arr = [
    0 => [
        'name' => 'name1',
        'age'  => '10'
    ],
    1 => [
        'name' => 'name1',
        'age'  => '11'
    ],
    2 => [
        'name' => 'name2',
        'age'  => '10'
    ],
    3 => [
        'name' => 'name2',
        'age'  => '10'
    ]
];

  

方法:

$res  = [];
foreach ($arr as $key => $value) {
    //重新排序value
    ksort($value);
    //获取key ,判断是否存在的依据
    $key = implode("_", $value);   //name1_10
    //md5 为了防止字段内容过长特殊字符等
    $res[md5($key)] = $value;
}
//重置索引
$res = array_values($res);

var_dump($res);
posted @ 2020-01-21 18:05  墨白`Blog  阅读(1211)  评论(0编辑  收藏  举报