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