首頁 >後端開發 >php教程 >數組 PHP二維數組的去重問題解析

數組 PHP二維數組的去重問題解析

WBOY
WBOY原創
2016-07-29 08:46:14988瀏覽

之前寫了一篇關於陣列去重的文章,但僅限於一維數組。下面的函數可以用在二維陣列上:

複製程式碼 程式碼如下:


//二維陣列去掉重複值
function array_unique_fb($array2D) array2D)
{
$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=$in
{
foreach ($array2D as $k=$ ",",$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];
$temp2[$k]["ename "] =$array[7];
}
return $temp2;
}


大概就這樣啦。

二維陣列去重


複製程式碼 程式碼如下:

$arr = array(
array('id' => 1,'name' = 1,'name' = 'aaa) array('id' => 2,'name' => 'bbb'),
array('id' => 3,'name' => 'ccc'),
array('id' => 4,'名稱' => 'ddd'),
array('id' => 5,'name' => 'ccc'),
array('id' => 6,'name' => 'aaa'),
array('id' => 7,'name' => 'bbb'),
);
function assoc_unique(&$arr, $key)
{
$rAr=array();
for($i=0 ;$i{
if(!isset($rAr[$arr[$i][$key]]))
{
$rAr[$arr[$i][ $key]]=$arr[$i];
}
}
$arr=array_values($rAr);
}
assoc_unique(&$arr,'name');
print_r($arr);
?


以上就介紹了數組 PHP二維數組的去重問題解析,包括了數組方面的內容,希望對PHP教程有興趣的朋友有所幫助。

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn