<?php
$test = [
[
'date' => '2019-07-06 14:01:52',
'status' => 'paid',
'summ' => 100,
],
[
'date' => '2019-07-02 12:22:31',
'status' => 'pending',
'summ' => 320,
],
[
'date' => '2019-07-01 18:43:58',
'status' => 'pending',
'summ' => 100,
],
[
'date' => '2019-06-26 14:01:52',
'status' => 'canceled',
'summ' => 200,
],
];
array_multisort(array_column($test, 'status'), SORT_DESC, array_column($test, 'date'), SORT_DESC, $test);
var_dump($test);
- Output for 7.1.25 - 7.1.30, 7.2.0 - 7.2.33, 7.3.0 - 7.3.33, 7.4.0 - 7.4.33, 8.0.0 - 8.0.30, 8.1.0 - 8.1.33, 8.2.0 - 8.2.29, 8.3.0 - 8.3.25, 8.4.1 - 8.4.12
- array(4) {
[0]=>
array(3) {
["date"]=>
string(19) "2019-07-02 12:22:31"
["status"]=>
string(7) "pending"
["summ"]=>
int(320)
}
[1]=>
array(3) {
["date"]=>
string(19) "2019-07-01 18:43:58"
["status"]=>
string(7) "pending"
["summ"]=>
int(100)
}
[2]=>
array(3) {
["date"]=>
string(19) "2019-07-06 14:01:52"
["status"]=>
string(4) "paid"
["summ"]=>
int(100)
}
[3]=>
array(3) {
["date"]=>
string(19) "2019-06-26 14:01:52"
["status"]=>
string(8) "canceled"
["summ"]=>
int(200)
}
}
preferences:
45.65 ms | 409 KiB | 5 Q