php二维数组去重即去掉重复键值的子元素

来源:互联网 发布:win7怎么打开2404端口 编辑:程序博客网 时间:2024/06/05 09:31

案例1:

Array

(
    [0] => Array
        (
            [0] => 2
            [1] => 1505622764
        )


    [1] => Array
        (
            [0] => 1
            [1] => 1505622822
        )


    [2] => Array
        (
            [0] => 3
            [1] => 1505622984
        )


    [3] => Array
        (
            [0] => 3
            [1] => 1505623462
        )


)


案例2:

$arr = array( array('id' => 1,'name' => 'aaa'), array('id' => 2,'name' => 'bbb'), array('id' => 3,'name' => 'ccc'), array('id' => 4,'name' => 'ddd'), array('id' => 5,'name' => 'ccc'), array('id' => 6,'name' => 'aaa'), array('id' => 7,'name' => 'bbb'), ); 


如以上数组,其中3是重复的,想去掉.可以用以下方法

function assoc_unique(&$arr, $key) {$rAr=array(); for($i=0;$i<count($arr);$i++) { if(!isset($rAr[$arr[$i][$key]])) { $rAr[$arr[$i][$key]]=$arr[$i]; } }$arr=array_values($rAr); } 
注意函数的$key可以为字符串键名,比如name
//print_r($roomid_arr2);exit;//assoc_unique(&$roomid_arr2,'0');//assoc_unique(&$arr,'name');

原文http://www.jb51.net/article/27738.htm