Heim  >  Artikel  >  Backend-Entwicklung  >  对二维数组指定项排序

对二维数组指定项排序

WBOY
WBOYOriginal
2016-07-25 09:02:261051Durchsuche

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


Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn