php去除二維數(shù)組的重復(fù)項方法
php中去一維數(shù)組的重復(fù)項可以通過php內(nèi)置函數(shù)array_unique(),但是php的array_unique函數(shù)對多維數(shù)組并不適用,怎么才能去除二維數(shù)組中的重復(fù)項呢?
以下給大家提供一個函數(shù)。
//二維數(shù)組去掉重復(fù)值 function unique_arr($array2D,$stkeep=false,$ndformat=true){ $joinstr='+++++'; // 判斷是否保留一級數(shù)組鍵 (一級數(shù)組鍵可以為非數(shù)字) if($stkeep) $stArr = array_keys($array2D); // 判斷是否保留二級數(shù)組鍵 (所有二級數(shù)組鍵必須相同) if($ndformat) $ndArr = array_keys(end($array2D)); //降維,也可以用implode,將一維數(shù)組轉(zhuǎn)換為用逗號連接的字符串 foreach ($array2D as $v){ $v = join($joinstr,$v); $temp[] = $v; } //去掉重復(fù)的字符串,也就是重復(fù)的一維數(shù)組 $temp = array_unique($temp); //再將拆開的數(shù)組重新組裝 foreach ($temp as $k => $v){ if($stkeep) $k = $stArr[$k]; if($ndformat){ $tempArr = explode($joinstr,$v); foreach($tempArr as $ndkey => $ndval) $output[$k][$ndArr[$ndkey]] = $ndval; } else $output[$k] = explode($joinstr,$v); } return $output; }
希望對大家學(xué)習(xí)php程序設(shè)計有所幫助。
相關(guān)文章
php數(shù)組函數(shù)序列 之a(chǎn)rray_count_values() 統(tǒng)計數(shù)組中所有值出現(xiàn)的次數(shù)函數(shù)
array_count_values() 函數(shù)用于統(tǒng)計數(shù)組中所有值出現(xiàn)的次數(shù),本函數(shù)返回一個數(shù)組,其元素的鍵名是原數(shù)組的值,鍵值是該值在原數(shù)組中出現(xiàn)的次數(shù)。2011-10-10php使用mysqli和pdo擴(kuò)展,測試對比mysql數(shù)據(jù)庫的執(zhí)行效率完整示例
這篇文章主要介紹了php使用mysqli和pdo擴(kuò)展,測試對比mysql數(shù)據(jù)庫的執(zhí)行效率,結(jié)合完整實例形式對比分析了php分別使用mysqli與pdo進(jìn)行數(shù)據(jù)庫插入操作的執(zhí)行時間,需要的朋友可以參考下2019-05-05php獲取網(wǎng)頁里所有圖片并存入數(shù)組的方法
這篇文章主要介紹了php獲取網(wǎng)頁里所有圖片并存入數(shù)組的方法,涉及php正則匹配及數(shù)組操作的技巧,非常具有實用價值,需要的朋友可以參考下2015-04-04解析在zend Farmework下如何創(chuàng)立一個FORM表單
本篇文章是對在zend Farmework下如何創(chuàng)立一個FORM表單的方法進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-06-06從php核心代碼分析require和include的區(qū)別
見到鳥哥的一文 深入理解PHP之require/include順序 忍不住繼續(xù)再深入了一下下,在此記錄一下深入的過程,以供以后查閱。2011-01-01ie與session丟失(新窗口cookie丟失)實測及解決方案
正如標(biāo)題所言測試結(jié)果為:如果cookie設(shè)置是延后定時失效,而非進(jìn)程級的,那在open后也能看到,所以,針對此情況,防止用戶在使用ie內(nèi)核出現(xiàn)登錄狀態(tài)丟失,可以配合cookie來使用2013-07-07