【问题标题】:How to sort array based on latest date in PHP如何根据PHP中的最新日期对数组进行排序
【发布时间】:2021-10-25 04:42:01
【问题描述】:

我有一个数组,想根据 date_time 对数组进行排序。最新的 date_time 位于数组的顶部,然后是前一个 date_time。 这是我需要排序的数组。

array(3) {
  [0]=>
  array(3) {
    ["name"]=>
    string(14) "Item 1"
    ["price"]=>
    int(30)
    ["date_time"]=>
    string(19) "2021-08-03 11:42:31"
  }
  [1]=>
  array(3) {
    ["name"]=>
    string(14) "Item 2"
    ["price"]=>
    int(30)
    ["date_time"]=>
    string(19) "2021-08-15 10:44:49"
  }
  [2]=>
  array(3) {
    ["name"]=>
    string(14) "Item 3"
    ["price"]=>
    int(30)
    ["date_time"]=>
    string(19) "2021-08-12 01:45:43"
  }

我已经尝试过这个功能,但无法对数组进行排序。

function compare_date($a, $b)
{
    $t1 = strtotime($a['date_time']);
    $t2 = strtotime($b['date_time']);
    return $t1 - $t2;
}    

usort($array1, 'compare_date');

根据日期对数组进行排序的函数不正确吗?

【问题讨论】:

标签: php arrays sorting


【解决方案1】:
     $array= array_column($urArray, 'date_time');

     array_multisort($array, SORT_ASC, $urArray);

learn_more bout array_multisort()

你也可以使用 foreach 循环代替 array_cloumn

【讨论】:

    猜你喜欢
    • 2017-06-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-02-05
    • 1970-01-01
    • 2020-01-31
    相关资源
    最近更新 更多