当前位置:首页 > PHP教程 > php数组 > 列表

PHP实现数组根据某个单元字段排序操作的教程

发布:smiling 来源: PHP粉丝网  添加日期:2018-11-15 09:50:10 浏览: 评论:0 

本文实例讲述了PHP实现数组根据某个单元字段排序操作。分享给大家供大家参考,具体如下:

如题,给出一个PHP数组,数组结构如下:

  1. $arr = array
  2.   array
  3.     'name'=>'sadas'
  4.     'norder'=>1 
  5.   ), 
  6.   array
  7.     'name'=>'sadas'
  8.     'norder'=>11 
  9.   ), 
  10.   array
  11.     'name'=>'sadas'
  12.     'norder'=>123 
  13.   ), 
  14.   array
  15.     'name'=>'sadas'
  16.     'norder'=>11 
  17.   ) 
  18. ); 

需要是需要按照norder从大到小的顺序,重新排列$arr数组的顺序。

可以使用array_multisort函数来帮助排序:

  1. function p($arr){ 
  2.   echo "<pre>"
  3.   print_r($arr); 
  4.   echo "</pre>"
  5. $arr = array
  6.   array
  7.     'name'=>'sadas'
  8.     'norder'=>1 
  9.   ), 
  10.   array
  11.     'name'=>'sadas'
  12.     'norder'=>11 
  13.   ), 
  14.   array
  15.     'name'=>'sadas'
  16.     'norder'=>123 
  17.   ), 
  18.   array
  19.     'name'=>'sadas'
  20.     'norder'=>11 
  21.   ) 
  22. ); 
  23. $flag = array(); 
  24. foreach($arr as $v){ 
  25.   $flag[] = $v['norder']; 
  26. array_multisort($flag, SORT_DESC, $arr); 
  27. p($arr); 

运行结果:

  1. Array 
  2.     [0] => Array 
  3.         ( 
  4.             [name] => sadas 
  5.             [norder] => 123 
  6.         ) 
  7.     [1] => Array 
  8.         ( 
  9.             [name] => sadas 
  10.             [norder] => 11 
  11.         ) 
  12.     [2] => Array 
  13.         ( 
  14.             [name] => sadas 
  15.             [norder] => 11 
  16.         ) 
  17.     [3] => Array 
  18.         ( 
  19.             [name] => sadas 
  20.             [norder] => 1 
  21.         ) 

Tags: PHP数组 单元字段排序

分享到: