1. 程式人生 > 其它 >php對二維陣列中按照某個鍵進行排序(二)

php對二維陣列中按照某個鍵進行排序(二)

之前有寫過:根據二維陣列中的某個欄位進行排序(https://www.cnblogs.com/T8888/p/12877578.html)

本次所寫的是二維陣列根據某個鍵進行排序

     /** 
     *@desc 給定二維陣列按照指定的鍵進行排序
     *@param array
     *@return array
     **/    
     function array_sort($arr, $keys, $stype='asc'){
      $keysvalue = $new_array = array();
      foreach($arr as $k=>$v
) { $keysvalue[$k] = $v[$keys]; } if($stype == 'asc') { asort($keysvalue); }else{ arsort($keysvalue); } reset($keysvalue); foreach ($keysvalue as $k=>$v) { $new_array[$k] = $arr[$k]; } return $new_array
; } /** * 對陣列按照鍵值倒敘排序,實現mysql order by的機制,先按照up欄位降序排序,然後按照date欄位的值降序排序 * @param $array * @return mixed */ function arraySort($array) { $up = []; $date = []; foreach ($array as $key => $row) { $up[$key] = $row['up'];
$date[$key] = $row['dateline']; } array_multisort($up, SORT_DESC, $date, SORT_DESC, $array); return $array; }