PHP数组根据数组内的某个单元字段排序

来源:互联网 发布:网络拉丝是什么意思 编辑:程序博客网 时间:2024/06/08 17:06

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