PHP中二維數組去除重複項小記——能夠類比php其餘處理二維數組_排序,轉換,去空白等等

PHP中提供了array_unique函數去除一維數組中的重複項,可是咱們實際的項目開發中,從數據庫select查詢出來的數組常常是二維的;程序員

這裏面可能有重複項,這就須要咱們本身定義函數進行去除重複項。數據庫

思路:數組

    一、首先獲取第二維數組的鍵名,保存在一個數組裏面(假設命名爲keyname_Arr);函數

    二、而後使用一個符號作分隔符(好比‘-’),將二維數組裏面的鍵值拼接成一個字符串,生成一個臨時數組;網站

    三、而後使用【array_unique()函數】比較生成的這個臨時數組,去掉裏面的相同字符串;spa

    四、而後將去除重複後的數組從新組裝成二維數組:code

            在foreach()裏面循環使用【explode()函數】,按‘-’分隔符拆分字符串;ci

            同時在foreach()裏面對拆分出來的字符串所造成的【新的臨時數組tempnew】,再使用一個foreach( $tempnew as $tempk =>$tempv),開發

            循環賦值 $output[ $k ][ $keyname_Arr[ $tempk ] ] = tempv ;字符串

    六、最後,$output便是去除重複後的二維數組。

 

來點實際代碼理解一下:

$keyname_Arr= array_keys(end($resource_arr));    //存儲內層數組的鍵名 //使用'-'做爲分隔將數組拼接成字符串 foreach ($resource_arr as $v){    $v = join("-",$v);    $temp[] = $v; } 
//去掉重複的字符串,也就是重複的一維數組 $temp = array_unique($temp); //再將拆開的數組從新組裝 foreach ($temp as $k => $v) {    $tempnew = explode("-",$v);//拆分去重以後的字符串    foreach($tempnew as $tempkey => $tempval)        $output[$k][$keyname_Arr[$tempkey]] = $tempval; }

Cion.記載於2016/05/03夜.

博客:趙華偉自媒體博客|Cion我的主頁|PHP程序員|網站開發|網站外包

相關文章
相關標籤/搜索