Sort a multidimensional array by date element in PHP
Last Updated :
11 Jul, 2025
Improve
Sorting a multidimensional array by element containing date. Use the usort() function to sort the array. The usort() function is PHP builtin function that sorts a given array using user-defined comparison function. This function assigns new integral keys starting from zero to array elements.
Syntax:
php
boolean usort( $array, "function_name")Parameters: This function accepts two parameters as shown in the above syntax and are described below:
- $array: This parameter specifies the array which u want to sort.
- function_name: This parameter specifies the name of a user-defined function which compares the values and sort the array specified by the parameter $array. This function returns an integer value based on the following conditions. If two argument are equal then it returns 0, If first argument is greater than second, it returns 1 and if first argument is smaller than second, it returns -1.
<?php
// Declare a multidimensional array
// and initialize it
$array = Array (
Array (
"gfg" => "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)
?>
<?php
// Declare a multidimensional array
// and initialize it
$array = Array (
Array (
"gfg" => "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)
?>
Output:
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 ) )