首页 > 语言 > PHP > 正文

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

2024-09-04 11:46:42
字体:大 中 小
来源:转载
供稿:网友

本文实例讲述了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. } 
  6. $arr = array( 
  7.   array( 
  8.     'name'=>'sadas', 
  9.     'norder'=>1 
  10.   ), 
  11.   array( 
  12.     'name'=>'sadas', 
  13.     'norder'=>11 
  14.   ), 
  15.   array( 
  16.     'name'=>'sadas', 
  17.     'norder'=>123 
  18.   ), 
  19.   array( 
  20.     'name'=>'sadas', 
  21.     'norder'=>11 
  22.   ) 
  23. ); 
  24. $flag = array(); 
  25. foreach($arr as $v){ 
  26.   $flag[] = $v['norder']; 
  27. } 
  28. array_multisort($flag, SORT_DESC, $arr); 
  29. p($arr); 

运行结果:

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

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表