好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

PHP二维数组怎么按某个字段排序? - php数组

PHP二维数组怎么按某个字段排序?

先不说别的我们直接看二维数组按某个字段排序实例,代码如下:

/**       * @author yebihai    * @desc 按二维数组的某一个字段进行升降排序       * @data       *      $testData = array(                  array('price'=>19),                  array('price'=>121),                  array('price'=>115),                  array('price'=>113),                  array('price'=>112)              );       */        class  sortClass{            //升序             function  sortArrayAsc($preData,$sortType= 'price' ){               $sortData = array();               foreach ($preData as $key_i => $value_i){                   $price_i = $value_i[$sortType];                   $min_key =  '' ;                   $sort_total = count($sortData);                   foreach ($sortData as $key_j => $value_j){                        if ($price_i<$value_j[$sortType]){                           $min_key = $key_j+1;                            break ;                       }                   }                    if (empty($min_key)){                     array_push($sortData, $value_i);                    } else  {                       $sortData1 = array_slice($sortData, 0,$min_key-1);                        array_push($sortData1, $value_i);                        if (($min_key-1)<$sort_total){                           $sortData2 = array_slice($sortData, $min_key-1);                            foreach ($sortData2 as $value){                               array_push($sortData1, $value);                           }                       }                       $sortData = $sortData1;               }               }                return  $sortData;           }            //降序             function  sortArrayDesc($preData,$sortType= 'price' ){               $sortData = array();               foreach ($preData as $key_i => $value_i){                   $price_i = $value_i[$sortType];                   $min_key =  '' ;                   $sort_total = count($sortData);                   foreach ($sortData as $key_j => $value_j){                        if ($price_i>$value_j[$sortType]){                           $min_key = $key_j+1;                            break ;                       }                   }                    if (empty($min_key)){                       array_push($sortData, $value_i);                    } else  {                       $sortData1 = array_slice($sortData, 0,$min_key-1);                        array_push($sortData1, $value_i);                        if (($min_key-1)<$sort_total){                           $sortData2 = array_slice($sortData, $min_key-1);                            foreach ($sortData2 as $value){                               array_push($sortData1, $value);                           }                       }                       $sortData = $sortData1;                   }               }                return  $sortData;           }       }  

后面整理一些关于数组排序的函数,数据排序函数有:

•sort() 函数用于对数组单元从低到高进行排序。

•rsort() 函数用于对数组单元从高到低进行排序。

•asort() 函数用于对数组单元从低到高进行排序并保持索引关系。

•arsort() 函数用于对数组单元从高到低进行排序并保持索引关系。

•ksort() 函数用于对数组单元按照键名从低到高进行排序。

•krsort() 函数用于对数组单元按照键名从高到低进行排序。

•array_multisort() 函数对多个数组或多维数组进行排序

查看更多关于PHP二维数组怎么按某个字段排序? - php数组的详细内容...

  阅读:46次