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

网络编程 2025-03-14 17:55www.168986.cn编程入门

PHP一维数组排序的利器众多,如sort()、asort()以及arsort()函数,它们对于一维数组的处理游刃有余。当我们面对二维数组时,排序工作就需要我们亲自动手,进行自定义处理。

下面介绍的是一个强大的函数array_sort(),它能够对二维数组按照指定的键值进行排序,无论是升序还是降序都不在话下。让我们先来了解一下这个函数的构造。

函数代码如下:

```php

function array_sort($arr, $keys, $type='asc') {

$keysvalue = $new_array = array();

foreach ($arr as $k => $v) {

$keysvalue[$k] = $v[$keys];

}

if ($type == 'asc') {

asort($keysvalue);

} else {

arsort($keysvalue);

}

reset($keysvalue);

$index = 0; // 用于保存下标不变,或者从0开始重新设定下标。

foreach ($keysvalue as $k => $v) {

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

$index++;

}

return $new_array;

}

```

这个函数的使用非常灵活。假设我们有一个包含多个关联数组的二维数组,每个关联数组都有'name'和'date'这两个键。我们可以通过调用array_sort()函数,按照'date'键的值对数组进行排序。示例代码如下:

```php

$array = array(

array('name' => 'Js', 'date' => '2014-05-01'),

array('name' => 'Sh', 'date' => '2014-04-30'),

array('name' => 'Bj', 'date' => '2014-05-02')

);

$arrayList = array_sort($array, 'date');

print_r($arrayList);

```

在这个例子中,输出的结果将会是按照'date'键的值升序排列的二维数组。如果你希望进行降序排列,只需在调用array_sort()函数时,将第二个参数改为'desc'即可。这个函数将会是你的二维数组排序的得力助手。

上一篇:Web 开发常用工具 大家自己查找下载 下一篇:没有了

Copyright © 2016-2025 www.168986.cn 狼蚁网络 版权所有 Power by