如何按键对多维数组进行排序:分步解决方案?

Barbara Streisand
发布: 2024-10-20 19:02:02
原创
579 人浏览过

How to Sort a Multidimensional Array by Key: A Step-by-Step Solution?

按键对多维数组进行排序:综合指南

按特定顺序排列多维数组的元素可能是常见要求在编程中。按特定键排序提供了一种组织和检索数据的有效方法。

考虑以下包含邀请的多维数组:

Array (
[0] => Array
    (
        [iid] => 1
        [invitee] => 174
        [nid] => 324343
        [showtime] => 2010-05-09 15:15:00
        [location] => 13
        [status] => 1
        [created] => 2010-05-09 15:05:00
        [updated] => 2010-05-09 16:24:00
    )

[1] => Array
    (
        [iid] => 1
        [invitee] => 220
        [nid] => 21232
        [showtime] => 2010-05-09 15:15:00
        [location] => 12
        [status] => 0
        [created] => 2010-05-10 18:11:00
        [updated] => 2010-05-10 18:11:00
    ))
登录后复制

要按“状态”键对此数组进行排序,我们可以使用 usort() 函数和自定义比较函数。

自定义比较函数

比较函数通过比较元素的键来确定元​​素的顺序。这是一个基于“status”键进行比较的函数:

function cmp($a, $b) {
    if ($a['status'] == $b['status']) {
        return 0;
    }
    return ($a['status'] < $b['status']) ? -1 : 1;
}
登录后复制

当 $a 应该在 $b 之前时,该函数返回 -1;当 $a 应该在 $b 之后时,该函数返回 1;当 $a 应该在 $b 之后时,该函数返回 0

对数组进行排序

我们现在可以使用 usort() 对数组进行排序:

usort($array, "cmp");
登录后复制

这将对数组进行排序“状态”键按升序排列。如果我们想颠倒顺序,我们可以使用 rsort():

rsort($array, "cmp");
登录后复制

通过利用提供的比较函数和排序函数,我们可以轻松地按任何所需的键对多维数组进行排序。

以上是如何按键对多维数组进行排序:分步解决方案?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!