网站首页 文章专栏 PHP 二维数组排序

PHP 二维数组排序

编辑时间:2018-07-13 11:43:52 作者:苹果 浏览量:579


    前言:对于二维数组中,第二级某一字段进行正序或倒序排列



参数:$on 要排序的字段  $order=SORT_ASC  正序  SORT_DESC 倒序


  1. 构建一个比较容易理解的函数  

二维数组排序  $on 要排序的第二级元素

    function array_sort($array, $on, $order = SORT_ASC) {

         $new_array = array();

         $sortable_array = array();

        

         if (count($array) > 0) {

             foreach ($array as $k => $v) {

                 if (is_array($v)) {

                     foreach ($v as $k2 => $v2) {

                     if ($k2 == $on) {

                     $sortable_array[$k] = $v2;

                     }

                     }

                 } else {

                 $sortable_array[$k] = $v;

                 }

         }

        

         switch ($order) {

             case SORT_ASC:

             asort($sortable_array);

             break;

             case SORT_DESC:

             arsort($sortable_array);

             break;

         }

        

         foreach ($sortable_array as $k => $v) {

             array_push($new_array, $array[$k]);

         }

     }

    

         return $new_array;

    }


2. 借助 array_multisort

function array_sort($array, $on, $order = SORT_ASC) {
   if(!$array){
       return [];
   }
   $temp = array_column($array,$on);
   array_multisort($temp ,$order, $array);
   return $array;
}

    


    出自:何冰华个人网站

    地址:http://www.hebinghua.com/

    转载请注明出处


来说两句吧
最新评论