我有一个数组,比如:

Array
(
[0] => Array
    (
        [id] => 2
        [type] => comment
        [text] => hey
        [datetime] => 2010-05-15 11:29:45
    )

[1] => Array
    (
        [id] => 3
        [type] => status
        [text] => oi
        [datetime] => 2010-05-26 15:59:53
    )

[2] => Array
    (
        [id] => 4
        [type] => status
        [text] => yeww
        [datetime] => 2010-05-26 16:04:24
    )

)

有没有人能建议一种基于DateTime元素对此进行排序/排序的方法?

推荐答案

使用usort()和自定义比较功能:

function date_compare($a, $b)
{
    $t1 = strtotime($a['datetime']);
    $t2 = strtotime($b['datetime']);
    return $t1 - $t2;
}    
usort($array, 'date_compare');

EDIT:您的数据组织在数组中.为了更好地区分它们,让我们调用内部数组(数据)记录,这样您的数据实际上就是一个记录array.

usort将一次将这些记录中的两个传递给给定的比较函数date_compare().date_compare然后将每个记录的"datetime"字段提取为UNIX时间戳(整数),并返回差值,这样,如果两个日期相等,结果将为0,如果第一个($a)较大,则为正数,如果第二个参数($b)较大,则为负值.usort()使用此信息对数组进行排序.

Php相关问答推荐

如何使用`preg_replace`删除重复的空格字符

WooCommerce-在选定类别中每消费X个金额即可添加免费礼物

如何确保所有语言文件都使用Laravel中的新密钥进行更新?

将一个情态形式放在细丝v3中的形式中间

免费送货柜台,考虑到折扣码

htaccess 配置提供静态文件和动态文件

将自定义字段添加到管理产品 在 WooCommerce 3.2+ 中批量编辑

对 WooCommerce 购物车和 checkout 中显示的运输方式进行排序

批量更新 WooCommerce 中所有产品的特定自定义字段

尽管有use指令,PHP 类在其他文件中仍处于可见状态

根据购买产品的自定义字段替换WooCommerce添加到购物车按钮

Shopware 6.4.20店铺激活问题

在 Laravel、Vuejs 和 Inertia 中配置 TypeScript 的问题

Laravel 查询关系是否为 bool

如何使用属性创建属性预设?

如何将子查询结果添加到学说 2 中主查询的末尾?

使用 GROUP_CONCAT 规范化/转置来自查询的数据

构建 [Controller] 时目标 [Interface] 不可实例化

WordPress 函数 get_post(post_id) 是否查询数据库?

一个php应用程序可以实例化多个RNG吗