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);


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM