PHP二维数组多字段去重

£可爱£侵袭症+ 提交于 2020-01-21 18:46:34

二位数组多字段去重

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

$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);
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!