为了账号安全,请及时绑定邮箱和手机立即绑定

在 php 中对数组进行排序和修剪

在 php 中对数组进行排序和修剪

PHP
HUH函数 2022-09-17 17:50:44
此代码输出下面的数组$upcoming =  $event_date[0]['event_dates'];Array(    [0] => Array        (            [event_date] => 2020-02-20 00:00:00            [event_start_time] => 09:14:00            [event_end_time] => 13:14:00        )    [1] => Array        (            [event_date] => 2020-02-15 00:00:00            [event_start_time] => 09:15:00            [event_end_time] => 11:15:00        )    [2] => Array        (            [event_date] => 2020-02-26 00:00:00            [event_start_time] => 14:15:00            [event_end_time] => 18:15:00        ))我设法使用这个来隔离值:[event_date]$event_dates = array_column($upcoming, 'event_date');此输出Array(    [0] => 2020-02-20 00:00:00    [1] => 2020-02-15 00:00:00    [2] => 2020-02-26 00:00:00)我可以像这样输出第一个键 $date = $event_dates[0];我需要做一些其他的事情:按日期排序。 应位于列表的顶部。array2020-02-15 00:00:00检查是否存在。event_date我真的很想看看它是如何工作的,所以如果我们能为每个步骤创建一个变量,这将有助于我更好地理解它。非常感谢。
查看完整描述

1 回答

?
达令说

TA贡献1821条经验 获得超6个赞

那又如何呢?


$dates = [

    [

        'event_date' => '2020-02-20 00:00:00',

        'event_start_timet_date' => '09:14:00',

        'event_end_time' => '13:14:00',

    ],

    [

        'event_date' => '2020-02-15 00:00:00',

        'event_start_timet_date' => '09:15:00',

        'event_end_time' => '11:15:00',

    ],

    [

        'event_date' => '2020-02-26 00:00:00',

        'event_start_timet_date' => '14:15:00',

        'event_end_time' => '18:15:00',

    ],

];


usort($dates, function(array $a, array $b) {

    if (!isset($a['event_date']) || !isset($b['event_date'])) {

        return 0;

    }

    return $a['event_date'] <=> $b['event_date'];

});

或者,如果您知道“event_date”将出现在该数组中(并且您有PHP 7.4),您可能想尝试一下这个


usort($dates, fn(array $a, array $b): int => $a['event_date'] <=> $b['event_date']);



查看完整回答
反对 回复 2022-09-17
  • 1 回答
  • 0 关注
  • 80 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信