📜  PHP按日期元素对多维数组进行排序

📅  最后修改于: 2022-05-13 01:54:11.151000             🧑  作者: Mango

PHP按日期元素对多维数组进行排序

按包含日期的元素对多维数组进行排序。使用 usort()函数对数组进行排序。 usort()函数是PHP内置函数,它使用用户定义的比较函数对给定数组进行排序。此函数将新的整数键从零开始分配给数组元素。

句法:

boolean usort( $array, "function_name")

参数:此函数接受如上述语法所示的两个参数,并在下面进行描述:

  • $array:此参数指定要排序的数组。
  • function_name:此参数指定用户定义的函数的名称,该函数比较值并对参数 $array 指定的数组进行排序。此函数根据以下条件返回一个整数值。如果两个参数相等,则返回 0,如果第一个参数大于第二个,则返回 1,如果第一个参数小于第二个,则返回 -1。

返回值:此函数返回布尔类型值。成功时返回 TRUE,失败时返回 FALSE。

我们使用 strtotime 将给定的时间字符串转换为时间戳对象。一旦我们有了时间戳,我们就减去它们来决定更大的。

程序:

 "GFG_1",
        "datetime" => "2019-02-22 11:29:45",
        ),
    Array (
        "gfg" => "GFG_2",
        "datetime" => "2019-02-13 11:29:45",
    ),
    Array (
        "gfg" => "GFG_3",
        "datetime" => "2019-02-15 11:29:45",
    )
);
  
// Comparison function
function date_compare($element1, $element2) {
    $datetime1 = strtotime($element1['datetime']);
    $datetime2 = strtotime($element2['datetime']);
    return $datetime1 - $datetime2;
} 
  
// Sort the array 
usort($array, 'date_compare');
  
// Print the array
print_r($array)
  
?>
输出:
Array
(
    [0] => Array
        (
            [gfg] => GFG_2
            [datetime] => 2019-02-13 11:29:45
        )

    [1] => Array
        (
            [gfg] => GFG_3
            [datetime] => 2019-02-15 11:29:45
        )

    [2] => Array
        (
            [gfg] => GFG_1
            [datetime] => 2019-02-22 11:29:45
        )

)