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

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

如何从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    ))


千万里不及你
浏览 976回答 4
4回答

守候你守候我

这是另一种方式。不保存任何中间变量。我们使用它来删除各种重叠查询的结果。$input = array_map("unserialize", array_unique(array_map("serialize", $input)));

MYYA

我有一个类似的问题,但我找到了100%的工作解决方案。<?php&nbsp;&nbsp;&nbsp;&nbsp;function&nbsp;super_unique($array,$key) &nbsp;&nbsp;&nbsp;&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$temp_array&nbsp;=&nbsp;[]; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;foreach&nbsp;($array&nbsp;as&nbsp;&$v)&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(!isset($temp_array[$v[$key]])) &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$temp_array[$v[$key]]&nbsp;=&&nbsp;$v; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$array&nbsp;=&nbsp;array_values($temp_array); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;$array; &nbsp;&nbsp;&nbsp;&nbsp;}$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"; &nbsp;&nbsp;&nbsp;&nbsp;$arr[3]['id']=3;$arr[3]['titel']="XYZ";echo&nbsp;"<pre>";print_r($arr); &nbsp;&nbsp;&nbsp;&nbsp;echo&nbsp;"unique*********************<br/>";print_r(super_unique($arr,'titel'));?>

慕斯709654

其他方式。也将保留密钥。function&nbsp;array_unique_multidimensional($input){ &nbsp;&nbsp;&nbsp;&nbsp;$serialized&nbsp;=&nbsp;array_map('serialize',&nbsp;$input); &nbsp;&nbsp;&nbsp;&nbsp;$unique&nbsp;=&nbsp;array_unique($serialized); &nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;array_intersect_key($input,&nbsp;$unique);}
打开App,查看更多内容
随时随地看视频慕课网APP