欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

对二维数组指定项排序

程序员文章站 2022-06-14 08:21:29
...

  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. ?>
复制代码