www.adminn.cn
站长正能量分享网!

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

AD:阿里云服务器企业会员更优惠 腾讯云香港,韩国免备案服务器1.8折优惠

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

  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() 函数对多个数组或多维数组进行排序

模板优惠价: (点击购买)
版权声明:本文采用知识共享 署名4.0国际许可协议 [BY-NC-SA] 进行授权
文章名称:《PHP二维数组怎么按某个字段排序?》
文章链接:https://www.adminn.cn/news/7155.html
本站资源模板仅供个人学习交流,请于下载后24小时内删除,不允许用于商业用途,否则法律问题自行承担。2021.5月起,网站调整,暂不再分享免费模板。谢谢理解

Adminn.Cn 站长分享圈

帝国CMS精品模板腾讯云优惠券,代金券

本站源码仅供本地环境下学习借鉴研究使用!

源码请勿用于任何涉灰站点!净化网络,站长更有责!

支付宝扫一扫打赏