<?php
$input = [
124 => [
'releaseDate' => '2020-07-01 00:00:00',
'isNewest' => true,
],
110 => [
'releaseDate' => '2020-08-15 00:00:00',
'isNewest' => false,
],
129 => [
'releaseDate' => '2020-08-15 00:00:00',
'isNewest' => true,
],
128 => [
'releaseDate' => '2020-08-15 00:00:00',
'isNewest' => false,
],
130 => [
'releaseDate' => '2020-08-15 00:00:00',
'isNewest' => false,
],
131 => [
'releaseDate' => '2020-08-15 00:00:00',
'isNewest' => false,
],
132 => [
'releaseDate' => '2020-08-15 00:00:00',
'isNewest' => false,
],
123 => [
'releaseDate' => '2020-07-01 00:00:00',
'isNewest' => false,
],
125 => [
'releaseDate' => '2020-07-01 00:00:00',
'isNewest' => false,
],
127 => [
'releaseDate' => '2020-07-01 00:00:00',
'isNewest' => false,
],
];
array_multisort(
array_column($input, 'isNewest'),
SORT_DESC, // 1 before 0 (true before false)
array_column($input, 'releaseDate'),
SORT_DESC,
$input
);
var_dump($input);
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename: /in/VqoGW
function name: (null)
number of ops: 20
compiled vars: !0 = $input
line #* E I O op fetch ext return operands
-------------------------------------------------------------------------------------
3 0 E > ASSIGN !0, <array>
46 1 INIT_FCALL 'array_multisort'
47 2 INIT_FCALL 'array_column'
3 SEND_VAR !0
4 SEND_VAL 'isNewest'
5 DO_ICALL $2
6 SEND_VAL $2
48 7 SEND_VAL 3
49 8 INIT_FCALL 'array_column'
9 SEND_VAR !0
10 SEND_VAL 'releaseDate'
11 DO_ICALL $3
12 SEND_VAL $3
50 13 SEND_VAL 3
51 14 SEND_REF !0
46 15 DO_ICALL
54 16 INIT_FCALL 'var_dump'
17 SEND_VAR !0
18 DO_ICALL
19 > RETURN 1
Generated using Vulcan Logic Dumper, using php 8.0.0
preferences:
138.93 ms | 999 KiB | 16 Q