码迷,mamicode.com
首页 > Web开发 > 详细

PHP中有关多维数组排序

时间:2014-09-15 03:17:08      阅读:228      评论:0      收藏:0      [点我收藏+]

标签:des   style   color   使用   ar   for   问题   sp   c   

    有关多维数组排序的问题,工作中经常遇到,但是不同的人,处理的方法不一样,比如下面的数组

    $data = array(

        array("name"=>"kivmi","age"=>27),

        array("name"=>"sathen","age"=>24),

        array("name"=>"nancy","age"=>26),

        array("name")=>"du","age"=>23)

  )

  如果需要对$data按照age升级排序,该怎么处理呢?

  有些人,可能会先遍历数组,然后把age作为key,然后ksort来排序,或者直接取出age作为数组,并将索引作为key,然后对age使用asort排序,

  但是其实php提供了一个内置函数,来解决多维数组排序的问题,这就说明其对php手册不是很熟,php手册中有一个函数,array_mutilsort,其函数原型如下

  bool array_mutilsort(array &array1 [,mixed $array1_sort_order=SORT_DESC [,mixed $array1_sort_flags=SORT_REGULAR [,mixed...]]])

  这样就可以利用这个函数进行排序了,只需要将需要排序的字段值保存在一个数组中,并且能对多个字段进行排序,

  foreach($data as $key => $item){

    $ages[$key] = $item[‘age‘];

  }

    array_mutilsort($ages,SORT_DESC,$data);

    这样就排好序了,简单吧,这个问题甚至已经做了5年php的程序员都不知道有这么一个函数,所以,大家还得好好看手册。

   

 

 

 

PHP中有关多维数组排序

标签:des   style   color   使用   ar   for   问题   sp   c   

原文地址:http://www.cnblogs.com/kivmi/p/3972062.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!