<?php
$array = [
495 => (object)['date' => '2009-10-31 18:24:09'],
582 => (object)['date' => '2010-2-11 12:01:42'],
121 => (object)['date' => '2008-12-1 18:24:09'],
333 => (object)['date' => '2019-9-9 15:15:15'],
987 => (object)['date' => '2009-2-20 6:06:33'],
];
uasort(
$array,
function($a, $b) {
echo "compare\n";
return strtotime($a->date) <=> strtotime($b->date);
}
);
var_export($array);
echo "\n---\n";
$array = [
495 => (object)['date' => '2009-10-31 18:24:09'],
582 => (object)['date' => '2010-2-11 12:01:42'],
121 => (object)['date' => '2008-12-1 18:24:09'],
333 => (object)['date' => '2019-9-9 15:15:15'],
987 => (object)['date' => '2009-2-20 6:06:33'],
];
$dates = array_map('strtotime', array_column($array, 'date'));
array_multisort($dates, $array);
var_export($array);
- Output for 7.3.0 - 7.3.33, 7.4.0 - 7.4.33, 8.0.0 - 8.0.30, 8.1.0 - 8.1.28, 8.2.0 - 8.2.18, 8.3.0 - 8.3.4, 8.3.6
- compare
compare
compare
compare
compare
compare
compare
compare
array (
121 =>
(object) array(
'date' => '2008-12-1 18:24:09',
),
987 =>
(object) array(
'date' => '2009-2-20 6:06:33',
),
495 =>
(object) array(
'date' => '2009-10-31 18:24:09',
),
582 =>
(object) array(
'date' => '2010-2-11 12:01:42',
),
333 =>
(object) array(
'date' => '2019-9-9 15:15:15',
),
)
---
array (
0 =>
(object) array(
'date' => '2008-12-1 18:24:09',
),
1 =>
(object) array(
'date' => '2009-2-20 6:06:33',
),
2 =>
(object) array(
'date' => '2009-10-31 18:24:09',
),
3 =>
(object) array(
'date' => '2010-2-11 12:01:42',
),
4 =>
(object) array(
'date' => '2019-9-9 15:15:15',
),
)
- Output for 8.3.5
- Warning: PHP Startup: Unable to load dynamic library 'sodium.so' (tried: /usr/lib/php/8.3.5/modules/sodium.so (libsodium.so.23: cannot open shared object file: No such file or directory), /usr/lib/php/8.3.5/modules/sodium.so.so (/usr/lib/php/8.3.5/modules/sodium.so.so: cannot open shared object file: No such file or directory)) in Unknown on line 0
compare
compare
compare
compare
compare
compare
compare
compare
array (
121 =>
(object) array(
'date' => '2008-12-1 18:24:09',
),
987 =>
(object) array(
'date' => '2009-2-20 6:06:33',
),
495 =>
(object) array(
'date' => '2009-10-31 18:24:09',
),
582 =>
(object) array(
'date' => '2010-2-11 12:01:42',
),
333 =>
(object) array(
'date' => '2019-9-9 15:15:15',
),
)
---
array (
0 =>
(object) array(
'date' => '2008-12-1 18:24:09',
),
1 =>
(object) array(
'date' => '2009-2-20 6:06:33',
),
2 =>
(object) array(
'date' => '2009-10-31 18:24:09',
),
3 =>
(object) array(
'date' => '2010-2-11 12:01:42',
),
4 =>
(object) array(
'date' => '2019-9-9 15:15:15',
),
)
preferences:
154.93 ms | 403 KiB | 153 Q