题目是有这样一个数组:
'张三','phone' => '123456','time' => "11"] ['name' => '李四','phone' => '345678','time' => "22"] ['name' => '张三','phone' => '123456','time' => "33"] ['name' => '张三','phone' => '123456','time' => "33"] ['name' => '小王','phone' => '345689','time' => "44"] ]; ?>
要求是:把上述php数组中name+phone重复的只保留一条,也就是去重。
大概看了下题目,发现php貌似没有这么一个函数直接能够处理。
预想的结果是:张三,李四,小王....
只有array_unique()稍微接近,这个函数可以去掉所有值都一样的数据,这个题目明显时间不一样,所以要自己写一个了。
下面直接上代码:
第一种方法
第二种方法:递归
$v){ if($arr[0]['name'] == $v['name'] && $arr[0]['phone'] == $v['phone'] && $k!=0){ unset($arr[$k]); arr($arr); } } return $arr; } arr($arr); ?>
看下效果2种方法的打印效果图
转自:http://www.phpbloger.com/article/41.html