Maison >développement back-end >tutoriel php >php简单实现多维数组排序的方法

php简单实现多维数组排序的方法

高洛峰
高洛峰original
2016-12-21 09:08:341254parcourir

本文实例讲述了php简单实现多维数组排序的方法。分享给大家供大家参考,具体如下:

之前在做一个功能的时候,必须要把数据放到二维数组里并且排序,然后上网找找解决思路,

这时候会用到array_multisort函数,array_multisort() 函数对多个数组或多维数组进行排序

先来看一个实例

<?php
$data=array(
0=>array(&#39;one&#39;=>34,&#39;two&#39;=>&#39;d&#39;),
1=>array(&#39;one&#39;=>45,&#39;two&#39;=>&#39;e&#39;),
2=>array(&#39;one&#39;=>47,&#39;two&#39;=>&#39;h&#39;),
3=>array(&#39;one&#39;=>12,&#39;two&#39;=>&#39;c&#39;),
4=>array(&#39;one&#39;=>15,&#39;two&#39;=>&#39;w&#39;),
5=>array(&#39;one&#39;=>85,&#39;two&#39;=>&#39;r&#39;),
);
foreach($data as $val){
$key_arrays[]=$val[&#39;one&#39;];
}
array_multisort($key_arrays,SORT_ASC,SORT_NUMERIC,$data);
var_dump($data);

输出结果:按键值one排序,如下:

array
 0 => 
  array
   &#39;one&#39; => int 12
   &#39;two&#39; => string &#39;c&#39; (length=1)
 1 => 
  array
   &#39;one&#39; => int 15
   &#39;two&#39; => string &#39;w&#39; (length=1)
 2 => 
  array
   &#39;one&#39; => int 34
   &#39;two&#39; => string &#39;d&#39; (length=1)
 3 => 
  array
   &#39;one&#39; => int 45
   &#39;two&#39; => string &#39;e&#39; (length=1)
 4 => 
  array
   &#39;one&#39; => int 47
   &#39;two&#39; => string &#39;h&#39; (length=1)
 5 => 
  array
   &#39;one&#39; => int 85
   &#39;two&#39; => string &#39;r&#39; (length=1)

php 多维数组排序

下面来封装成函数方便使用

function my_array_multisort($data,$sort_order_field,$sort_order=SORT_ASC,$sort_type=SORT_NUMERIC){
foreach($data as $val){
$key_arrays[]=$val[$sort_order_field];
}
array_multisort($key_arrays,SORT_ASC,SORT_NUMERIC,$data);
rturn $data;
}

希望本文所述对大家PHP程序设计有所帮助。

更多php简单实现多维数组排序的方法相关文章请关注PHP中文网!


Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn