如何从PHP中的多维数组中删除重复值?

示例数组:

Array
(
    [0] => Array
    (
        [0] => abc
        [1] => def
    )

    [1] => Array
    (
        [0] => ghi
        [1] => jkl
    )

    [2] => Array
    (
        [0] => mno
        [1] => pql
    )

    [3] => Array
    (
        [0] => abc
        [1] => def
    )

    [4] => Array
    (
        [0] => ghi
        [1] => jkl
    )

    [5] => Array
    (
        [0] => mno
        [1] => pql
    )

)

 

实现方法:

方法一:

$input = array_map(\"unserialize\", array_unique(array_map(\"serialize\", $input)));

 

方法 二:

<?php
    function super_unique($array,$key)
    {
       $temp_array = [];
       foreach ($array as &$v) {
           if (!isset($temp_array[$v[$key]]))
           $temp_array[$v[$key]] =& $v;
       }
       $array = array_values($temp_array);
       return $array;

    }


$arr=\"\";
$arr[0][\'id\']=0;
$arr[0][\'titel\']=\"ABC\";
$arr[1][\'id\']=1;
$arr[1][\'titel\']=\"DEF\";
$arr[2][\'id\']=2;
$arr[2][\'titel\']=\"ABC\";
$arr[3][\'id\']=3;
$arr[3][\'titel\']=\"XYZ\";

echo \"<pre>\";
print_r($arr);
echo \"unique*********************<br/>\";
print_r(super_unique($arr,\'titel\'));

?>

 

方法三:

function array_unique_multidimensional($input)
{
    $serialized = array_map(\'serialize\', $input);
    $unique = array_unique($serialized);
    return array_intersect_key($input, $unique);
}
收藏 打印