首页  >  文章  >  后端开发  >  对二维数组指定项排序

对二维数组指定项排序

WBOY
WBOY原创
2016-07-25 09:02:261051浏览

  1. /*
  2. $array_name:传入的数组;
  3. $row_id:数组想排序的项;
  4. $order_type:排序的方式,ASC或者DESC;
  5. */
  6. function array_sort($array_name,$row_id,$order_type){
  7. $array_temp=array();
  8. foreach($array_name as $key=>$value){//循环一层;
  9. $array_temp[$key]=$value[$row_id];//新建一个一维的数组,索引值用二维数组的索引值;值为二维数组要比较的项目的值;
  10. }
  11. if($order_type==="ASC"){
  12. asort($array_temp);
  13. }else{
  14. arsort($array_temp);
  15. }
  16. $result_array=array();
  17. foreach($array_temp as $key=>$value){//对进行筛选过的数组遍历;
  18. $result_array[]=$array_name[$key];//新建一个结果数组,将原来传入的数组改变键值顺序后赋值给结果数组(原来数组不变);
  19. }
  20. return $result_array;
  21. }
  22. //以下是测试
  23. $arr=array(array('num'=>7,'value'=>4),
  24. array('num'=>3,'value'=>45),
  25. array('num'=>38,'value'=>27));
  26. $sortarr=array_sort($arr,'value','ASC');
  27. print_r($sortarr);
  28. ?>
复制代码


声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn