php实例分享之二维数组排序

前端之家收集整理的这篇文章主要介绍了php实例分享之二维数组排序前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

PHP一维数组的排序可以用sort(),asort(),arsort()等函数

PHP二维数组的排序需要自定义

以下函数是对一个给定的二维数组按照指定的键值进行排序,先看函数定义:

代码如下:
301_9@function array_sort($arr,$keys,$type='asc'){ @H_301_9@$keysvalue = $new_array = array();@H_301_9@foreach ($arr as $k=>$v){@H_301_9@$keysvalue[$k] = $v[$keys];@H_301_9@}@H_301_9@if($type == 'asc'){@H_301_9@asort($keysvalue);@H_301_9@}else{@H_301_9@arsort($keysvalue);@H_301_9@}@H_301_9@reset($keysvalue);

$index = 0;//保存下标不变用$k,下标从0开始就用$index;@H_301_9@foreach ($keysvalue as $k=>$v){

@H_301_9@$new_array[$index] = $arr[$k];

$index++;@H_301_9@}@H_301_9@return $new_array; @H_301_9@} @H_301_9@

它可以对二维数组按照指定的键值进行排序,也可以指定升序或降序排序法(默认为升序),用法示例:

代码如下:
301_9@$array = array(@H_301_9@array('name'=>'Js','date'=>'2014-05-01'),@H_301_9@array('name'=>'Sh','date'=>'2014-04-30'),@H_301_9@array('name'=>'Bj','date'=>'2014-05-02')@H_301_9@);

$arrayList = array_sort($array,'date');@H_301_9@print_r($arrayList);@H_301_9@

猜你在找的PHP相关文章