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

來源:互聯網
上載者:User

之前寫了一篇關於數組去重的文章,但是僅限於一維數組。下面的函數可以用於二維數組: 複製代碼 代碼如下://二維數組去掉重複值
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];
$temp2[$k]["ename"] =$array[7];
}
return $temp2;
}

大概就這樣啦。
二維數組去重 複製代碼 代碼如下:<?php
$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'),
);
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);
}
assoc_unique(&$arr,'name');
print_r($arr);
?>

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.