php對二維數組進行排序、二維數組去掉重複值

一、二維數組進行排序:

實例如下:

    $data = array(); 
    $data[] = array('volume' => 67, 'edition' => 2); 
    $data[] = array('volume' => 86, 'edition' => 1); 
    $data[] = array('volume' => 85, 'edition' => 6); 
    $data[] = array('volume' => 98, 'edition' => 2); 
    $data[] = array('volume' => 86, 'edition' => 6); 
    $data[] = array('volume' => 67, 'edition' => 7); 
     
    // 取得列的列表 
    foreach ($data as $key => $row) 
    { 
        $volume[$key]  = $row['volume']; 
        $edition[$key] = $row['edition']; 
    } 
     
    array_multisort($volume, SORT_DESC, $edition, SORT_ASC, $data); 
     
    print_r($data); 

結果如下:

    Array 
    ( 
        [0] => Array 
            ( 
                [volume] => 98 
                [edition] => 2 
            ) 
     
        [1] => Array 
            ( 
                [volume] => 86 
                [edition] => 1 
            ) 
     
        [2] => Array 
            ( 
                [volume] => 86 
                [edition] => 6 
            ) 
     
        [3] => Array 
            ( 
                [volume] => 85 
                [edition] => 6 
            ) 
     
        [4] => Array 
            ( 
                [volume] => 67 
                [edition] => 2 
            ) 
     
        [5] => Array 
            ( 
                [volume] => 67 
                [edition] => 7 
            ) 
     
    ) 

二、二維數組去掉重複值

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


發佈了49 篇原創文章 · 獲贊 9 · 訪問量 18萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章