猿问

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

此代码输出下面的数组


$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

我真的很想看看它是如何工作的,所以如果我们能为每个步骤创建一个变量,这将有助于我更好地理解它。


非常感谢。


HUH函数
浏览 119回答 1
1回答

达令说

那又如何呢?$dates = [&nbsp; &nbsp; [&nbsp; &nbsp; &nbsp; &nbsp; 'event_date' => '2020-02-20 00:00:00',&nbsp; &nbsp; &nbsp; &nbsp; 'event_start_timet_date' => '09:14:00',&nbsp; &nbsp; &nbsp; &nbsp; 'event_end_time' => '13:14:00',&nbsp; &nbsp; ],&nbsp; &nbsp; [&nbsp; &nbsp; &nbsp; &nbsp; 'event_date' => '2020-02-15 00:00:00',&nbsp; &nbsp; &nbsp; &nbsp; 'event_start_timet_date' => '09:15:00',&nbsp; &nbsp; &nbsp; &nbsp; 'event_end_time' => '11:15:00',&nbsp; &nbsp; ],&nbsp; &nbsp; [&nbsp; &nbsp; &nbsp; &nbsp; 'event_date' => '2020-02-26 00:00:00',&nbsp; &nbsp; &nbsp; &nbsp; 'event_start_timet_date' => '14:15:00',&nbsp; &nbsp; &nbsp; &nbsp; 'event_end_time' => '18:15:00',&nbsp; &nbsp; ],];usort($dates, function(array $a, array $b) {&nbsp; &nbsp; if (!isset($a['event_date']) || !isset($b['event_date'])) {&nbsp; &nbsp; &nbsp; &nbsp; return 0;&nbsp; &nbsp; }&nbsp; &nbsp; 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']);
随时随地看视频慕课网APP
我要回答