$arr=array("1"=>array("a","b "),"2"=>array("a","c"),"3"=>array("a","b")); $arr=array_unique($arr);
print_r($arr); 输出结果是Array ( [1] => Array ( [0] => a [1] => b ) ) 而我想得到的结果是:只输出第一项(第一项和第三项相同,去第一项)和第二项这个怎么解决?
PHP数组去除重复项有个内置函数array_unique(),但是php的array_unique函数只适用于一维数组,对多维数组并不适用,不过你可以在二维数组中的值,用array_unique()即可。
比如:
$array = array(array(1,1,2),array(2,3,4,3));
$temp_array = array();
foreach($array as $key=>$value){
$temp_array[$key] = array_unique($value);
}
$array = $temp_array;
比如:
$array = array(array(1,1,2),array(2,3,4,3));
$temp_array = array();
foreach($array as $key=>$value){
$temp_array[$key] = array_unique($value);
}
$array = $temp_array;
温馨提示:答案为网友推荐,仅供参考
第1个回答 2018-02-26
array_unique($arr,SORT_REGULAR)本回答被网友采纳
第2个回答 2013-07-29
function remove_duplicate($array){
$result=array();
for($i=0;$i<count($array);$i++){
$source=$array[$i];
if(array_search($source,$array)==$i && $source<>"" ){
$result[]=$source;
}
}
return $result;
}
$arr=array("1"=>array("a","b "),"2"=>array("a","c"),"3"=>array("a","b"));$arr=remove_duplicate($arr);print_r($arr);本回答被网友采纳
$result=array();
for($i=0;$i<count($array);$i++){
$source=$array[$i];
if(array_search($source,$array)==$i && $source<>"" ){
$result[]=$source;
}
}
return $result;
}
$arr=array("1"=>array("a","b "),"2"=>array("a","c"),"3"=>array("a","b"));$arr=remove_duplicate($arr);print_r($arr);本回答被网友采纳