本文目錄一覽:
php如何去掉二維數組中重複的元素?
有點麻煩,不過可以實現:
$arr=array(“1″=array(“a”,”b”),”2″=array(“a”,”c”),”3″=array(“a”,”b”));
foreach($arr as $k=$v){
$arr[$k]=implode(‘ ‘,$v);
}
$arr=array_unique($arr);
foreach($arr as $k=$v){
$arr[$k]=explode(‘ ‘,$v);
}
print_r($arr);
php如何刪除兩個數組中相同的元素
php如何去除數組中相同的元素
如何去除數組中相同的元素?在php手冊中有這樣寫
array_unique(PHP
4
=
4.0.1)
array_unique
—
移除數組中重複的值
說明
array
array_unique
(
array
array)
array_unique()
接受
array
作為輸入並返回沒有重複值的新數組。
注意鍵名保留不變。array_unique()
先將值作為字符串排序,然後對每個值只保留第一個遇到的鍵名,接着忽略所有後面的鍵名。這並不意味着在未排序的
array
中同一個值的第一個出現的鍵名會被保留。
注:
當且僅當
(string)
$elem1
===
(string)
$elem2
時兩個單元被認為相同。就是說,當字符串的表達一樣時。
第一個單元將被保留。
例子
1.
array_unique()
例子
?php
$input
=
array
(“a”
=
“green”,
“red”,
“b”
=
“green”,
“blue”,
“red”);
$result
=
array_unique
($input);
print_r($result);
?
PHP二維數組如何去掉重複值
之前寫了一篇關於數組去重的文章,但是僅限於一維數組。下面的函數可以用於二維數組:
//二維數組去掉重複值
function array_unique_fb($array2D){foreach ($array2D as $v){$v = join(“,”,$v); //降維,也可以用implode,將一維數組轉換為用逗號連接的字符串
$temp[] = $v;}
$temp = array_unique($temp); //去掉重複的字符串,也就是重複的一維數組
foreach ($temp as $k = $v){$temp[$k] = explode(“,”,$v); //再將拆開的數組重新組裝}return $temp;}
如果你想保留數組的鍵值,可以用下面的函數:
//二維數組去掉重複值 並保留鍵值
function array_unique_fb($array2D){foreach ($array2D as $k=$v){$v = join(“,”,$v); //降維,也可以用implode,將一維數組轉換為用逗號連接的字符串
$temp[$k] = $v;}$temp = array_unique($temp); //去掉重複的字符串,也就是重複的一維數組
foreach ($temp as $k = $v){$array=explode(“,”,$v); //再將拆開的數組重新組裝
$temp2[$k][“id”] =$array[0];
$temp2[$k][“litpic”] =$array[1];
$temp2[$k][“title”] =$array[2];
$temp2[$k][“address”] =$array[3];
$temp2[$k][“starttime”] =$array[4];
$temp2[$k][“endtime”] =$array[5];
$temp2[$k][“classid”] =$array[6];
大概就這樣啦。
PHP二維數組如何實現去除重複項
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;
PHP二維數組去重複,求大神幫忙。
?php
//假設這個數組為 $arr ,建立一個目標數組 $res ,遍歷$arr
$res = array();
foreach($arr as $v){
//先判斷一下現在遍歷的數組是否已經存在於目標數組
if(isset($res[$v[‘doctor_uid’]])){
//已經存在的話需要判斷 answer_num 的值和已存的值的大小
if($v[‘answer_num’] $res[$v[‘doctor_uid’]][‘answer_num’]){
//噹噹前遍歷的數組的 answer_num 值大於 $res 數組中已存的時候更新這個數組
$res[$v[‘doctor_uid’]] = $v;
}
}
else{//當不存在的時候新增進去
$res[$v[‘doctor_uid’]] = $v;
}
}
//經過上面的遍歷 $res 即為去除重複uid的結果集,因為目前返回回來的是下表為uid的數組,此處改成下表從0開始
$res = array_value($res);
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/157995.html