程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> PHP二維數組如何去掉重復值

PHP二維數組如何去掉重復值

編輯:關於PHP編程

PHP數組去除重復項有個內置函數array_unique(),但是php的array_unique函數只適用於一維數組,對多維數組並不適用,以下提供一個二維數組的array_unique函數。

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

//二維數組去掉重復值
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;
}

大概就這樣啦。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved