>  기사  >  백엔드 개발  >  对二维数组指定项排序

对二维数组指定项排序

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으로 문의하세요.