php去除二維數(shù)組的重復項方法
php中去一維數(shù)組的重復項可以通過php內(nèi)置函數(shù)array_unique(),但是php的array_unique函數(shù)對多維數(shù)組并不適用,怎么才能去除二維數(shù)組中的重復項呢?
以下給大家提供一個函數(shù)。
//二維數(shù)組去掉重復值
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;
}
//去掉重復的字符串,也就是重復的一維數(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;
}
希望對大家學習php程序設計有所幫助。
相關(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-10
php使用mysqli和pdo擴展,測試對比mysql數(shù)據(jù)庫的執(zhí)行效率完整示例
這篇文章主要介紹了php使用mysqli和pdo擴展,測試對比mysql數(shù)據(jù)庫的執(zhí)行效率,結(jié)合完整實例形式對比分析了php分別使用mysqli與pdo進行數(shù)據(jù)庫插入操作的執(zhí)行時間,需要的朋友可以參考下2019-05-05
php獲取網(wǎng)頁里所有圖片并存入數(shù)組的方法
這篇文章主要介紹了php獲取網(wǎng)頁里所有圖片并存入數(shù)組的方法,涉及php正則匹配及數(shù)組操作的技巧,非常具有實用價值,需要的朋友可以參考下2015-04-04
解析在zend Farmework下如何創(chuàng)立一個FORM表單
本篇文章是對在zend Farmework下如何創(chuàng)立一個FORM表單的方法進行了詳細的分析介紹,需要的朋友參考下2013-06-06
從php核心代碼分析require和include的區(qū)別
見到鳥哥的一文 深入理解PHP之require/include順序 忍不住繼續(xù)再深入了一下下,在此記錄一下深入的過程,以供以后查閱。2011-01-01
ie與session丟失(新窗口cookie丟失)實測及解決方案
正如標題所言測試結(jié)果為:如果cookie設置是延后定時失效,而非進程級的,那在open后也能看到,所以,針對此情況,防止用戶在使用ie內(nèi)核出現(xiàn)登錄狀態(tài)丟失,可以配合cookie來使用2013-07-07

