PHP如何根据数组中的键值进行排序
2017-03-09 12:02
597 查看
主要是使用PHP的排序函数,asort()和arsort()。
为了减少代码的耦合性,我们将根据数组中的键值进行排序封装成一个函数
在PHP中,内置一个排序的函数 array_multisort(),可以参考上一篇的数组排序
为了减少代码的耦合性,我们将根据数组中的键值进行排序封装成一个函数
1 <?php 2 $array = array( 3 array('name'=>'aa','price'=>1050), 4 array('name'=>'bb','price'=>4300), 5 array('name'=>'cc','price'=>3100), 6 array('name'=>'dd','price'=>4900), 7 array('name'=>'ee','price'=>960), 8 array('name'=>'ff','price'=>6299), 9 array('name'=>'gg','price'=>1200) 10 ); 11 function arr_sort($array,$key,$order="asc"){ //asc是升序 desc是降序 12 $arr_nums=$arr=array(); 13 foreach($array as $k=>$v){ 14 $arr_nums[$k]=$v[$key]; 15 } 16 if($order=='asc'){ 17 asort($arr_nums); 18 }else{ 19 arsort($arr_nums); 20 } 21 foreach($arr_nums as $k=>$v){ 22 $arr[$k]=$array[$k]; 23 } 24 print_r($arr); 25 } 26 arr_sort($array,'price');
在PHP中,内置一个排序的函数 array_multisort(),可以参考上一篇的数组排序
1 <?php 2 $array = array( 3 array('name'=>'aa','price'=>1050), 4 array('name'=>'bb','price'=>4300), 5 array('name'=>'cc','price'=>3100), 6 array('name'=>'dd','price'=>4900), 7 array('name'=>'ee','price'=>960), 8 array('name'=>'ff','price'=>6299), 9 array('name'=>'gg','price'=>1200) 10 ); 11 //方法一 12 function arr_sort($array,$key,$order="desc"){ //asc是升序 desc是降序 13 $arr_nums=$arr=array(); 14 foreach($array as $k=>$v){ 15 $arr_nums[$k]=$v[$key]; 16 } 17 if($order=='asc'){ 18 asort($arr_nums); 19 }else{ 20 arsort($arr_nums); 21 } 22 foreach($arr_nums as $k=>$v){ 23 $arr[$k]=$array[$k]; 24 } 25 print_r($arr); 26 } 27 arr_sort($array,'price'); 28 29 30 //方法二 31 32 foreach ( $array as $key => $row ){ 33 $name[$key] = $row ['name']; 34 $price[$key] = $row ['price']; 35 } 36 array_multisort($price, SORT_ASC, $name, SORT_DESC, $array); 37 print_r($array);
相关文章推荐
- PHP实现根据数组某个键值大小进行排序的方法
- php 对2维数组 根据某个键值进行排序的几种方法!
- PHP 两个多维数组根据某个键的值进行组合排序的几种思路
- PHP 数组的各种排序 原:如何使用强大的PHP函数对数组进行排序
- 键值对数组如何按照"键"进行排序?
- PHP对多维数组按照某个键值大小进行排序
- php根据某字段对多维数组进行排序的方法
- PHP 两个多维数组根据某个键的值进行组合排序的几种思路(二)
- php 根据数组某键值排序
- php 根据一个数组对另外一个数组进行排序问题
- js实现的对象数组根据对象的键值进行排序代码
- PHP根据数组某个值大小进行排序
- 根据数组中的某个键值大小进行排序,仅支持二维数组
- PHP二位数组/多维数组 根据某个键值排序
- php两个数组合并在一起,根据两个数组相同的键进行排序(时间排序)
- php数组根据指定字段对数组进行排序函数
- php 根据指定的键对多维数组进行排序
- php根据某字段对多维数组进行排序的方法
- 二维数组 根据 其中键值进行排序
- js如何对数组进行排序