php对二维数组中按照某个键进行排序

     /** 
     *@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;
    }

猜你喜欢

转载自blog.csdn.net/zpf_nevergiveup/article/details/77981041