您当前的位置: 首页 > 网站编程 > PHP教程 > PHP二维数组怎么按某个字段排序?

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

作者:不详 来源:网络 发布时间: 2014-08-14 08:52 点击:
先不说别的我们直接看二维数组按某个字段排序实例 代码如下 ?php /** * @author yebihai http://www.45it.com * @desc 按二维数组的某一个字段进行升降排序 * @data * $testData = array( array('price'=19), array('price'=121), array('price'=115), array('price'=1

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

  先不说别的我们直接看二维数组按某个字段排序实例

  

  

  

  

  

  

  

  

  

  

  
代码如下
<?php   

     /** 

      * @author yebihai http://www.45it.com

      * @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二维数组怎么按某个字段排序?"由远航站长收集整理而来,仅供大家学习与参考使用。更多网站制作教程尽在远航站长站。
顶一下
(0)
0%
踩一下
(0)
0%
[点击 次] [返回上一页] [打印]
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 密码: 验证码:
关于本站 - 联系我们 - 网站声明 - 友情连接- 网站地图 - 站点地图 - 返回顶部
Copyright © 2007-2013 www.yhzhan.com(远航站长). All Rights Reserved .
远航站长:为中小站长提供最佳的学习与交流平台,提供网页制作与网站编程等各类网站制作教程.
官方QQ:445490277 网站群:26680406 网站备案号:豫ICP备07500620号-4