php专区

 首页 > php专区 > PHP基础 > 数组 > PHP二维数组怎么按某个字段排序? - php数组

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

分享到:
【字体:
导读:
          先不说别的我们直接看二维数组按某个字段排序实例,代码如下: ***@authoryebihai*@desc按二维数组的某一个字段进行升降排序*@data*$testData=array(array( 39;price 39;=19),array( 39;price 3...

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

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

  1. /**    
  2.  * @author yebihai 
  3.  * @desc 按二维数组的某一个字段进行升降排序    
  4.  * @data    
  5.  *      $testData = array(    
  6.             array('price'=>19),    
  7.             array('price'=>121),    
  8.             array('price'=>115),    
  9.             array('price'=>113),    
  10.             array('price'=>112)    
  11.         );    
  12.  */      
  13. class sortClass{      
  14.     //升序      
  15.     function sortArrayAsc($preData,$sortType='price'){      
  16.         $sortData = array();      
  17.         foreach ($preData as $key_i => $value_i){      
  18.             $price_i = $value_i[$sortType];      
  19.             $min_key = '';      
  20.             $sort_total = count($sortData);      
  21.             foreach ($sortData as $key_j => $value_j){      
  22.                 if($price_i<$value_j[$sortType]){      
  23.                     $min_key = $key_j+1;      
  24.                     break;      
  25.                 }      
  26.             }      
  27.             if(empty($min_key)){    
  28.                 array_push($sortData, $value_i);       
  29.             }else {      
  30.                 $sortData1 = array_slice($sortData, 0,$min_key-1);       
  31.                 array_push($sortData1, $value_i);      
  32.                 if(($min_key-1)<$sort_total){      
  33.                     $sortData2 = array_slice($sortData, $min_key-1);       
  34.                     foreach ($sortData2 as $value){      
  35.                         array_push($sortData1, $value);      
  36.                     }      
  37.                 }      
  38.                 $sortData = $sortData1;      
  39.         }      
  40.         }      
  41.         return $sortData;      
  42.     }      
  43.     //降序      
  44.     function sortArrayDesc($preData,$sortType='price'){      
  45.         $sortData = array();      
  46.         foreach ($preData as $key_i => $value_i){      
  47.             $price_i = $value_i[$sortType];      
  48.             $min_key = '';      
  49.             $sort_total = count($sortData);      
  50.             foreach ($sortData as $key_j => $value_j){      
  51.                 if($price_i>$value_j[$sortType]){      
  52.                     $min_key = $key_j+1;      
  53.                     break;      
  54.                 }      
  55.             }      
  56.             if(empty($min_key)){      
  57.                 array_push($sortData, $value_i);       
  58.             }else {      
  59.                 $sortData1 = array_slice($sortData, 0,$min_key-1);       
  60.                 array_push($sortData1, $value_i);      
  61.                 if(($min_key-1)<$sort_total){      
  62.                     $sortData2 = array_slice($sortData, $min_key-1);       
  63.                     foreach ($sortData2 as $value){      
  64.                         array_push($sortData1, $value);      
  65.                     }      
  66.                 }      
  67.                 $sortData = $sortData1;      
  68.             }      
  69.         }      
  70.         return $sortData;      
  71.     }      
  72. }  

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

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

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

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

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

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

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

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

分享到:
php json与数组互转支持中文 - php数组
php json与数组互转支持中文 在php5中为我提供了两个函数,json_encode和json_decode可以实现json与数组互转了,但在中文上可以支持不好,下面介绍一个经过处理支持中文数组与json互转函数,代码如下:
php数组转换成树的几个例子 - php数组
php数组转换成树的几个例子 下面我整理了一些常用的数组转换成树的实例与大家一起学习,我想大家都会很喜欢这篇文章的.Php代码如下: * $sourceArr 原来的数组   * $key 主键   * $parentKey 与主键关联的父主键   * $childrenKey 生成的孩子的键名   *   */...
  •         php迷,一个php技术的分享社区,专属您自己的技术摘抄本、收藏夹。
  • 在这里……