<?php
$Test = array(
array("a"=>"004", "n"=>"03"),
array("a"=>"003", "n"=>"02"),
array("a"=>"001", "n"=>"02"),
array("a"=>"005", "n"=>"01"),
array("a"=>"001", "n"=>"01"),
array("a"=>"004", "n"=>"02"),
array("a"=>"003", "n"=>"01"),
array("a"=>"004", "n"=>"01")
);
$orderBy = ['a', 'n'];
usort($Test, fn($a, $b) =>
array_map(fn($v) => $a[$v], $orderBy)
<=>
array_map(fn($v) => $b[$v], $orderBy)
);
var_export($Test);
- Output for 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
- array (
0 =>
array (
'a' => '001',
'n' => '01',
),
1 =>
array (
'a' => '001',
'n' => '02',
),
2 =>
array (
'a' => '003',
'n' => '01',
),
3 =>
array (
'a' => '003',
'n' => '02',
),
4 =>
array (
'a' => '004',
'n' => '01',
),
5 =>
array (
'a' => '004',
'n' => '02',
),
6 =>
array (
'a' => '004',
'n' => '03',
),
7 =>
array (
'a' => '005',
'n' => '01',
),
)
- 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
array (
0 =>
array (
'a' => '001',
'n' => '01',
),
1 =>
array (
'a' => '001',
'n' => '02',
),
2 =>
array (
'a' => '003',
'n' => '01',
),
3 =>
array (
'a' => '003',
'n' => '02',
),
4 =>
array (
'a' => '004',
'n' => '01',
),
5 =>
array (
'a' => '004',
'n' => '02',
),
6 =>
array (
'a' => '004',
'n' => '03',
),
7 =>
array (
'a' => '005',
'n' => '01',
),
)
- Output for 7.3.0 - 7.3.33
- Parse error: syntax error, unexpected '=>' (T_DOUBLE_ARROW), expecting ')' in /in/cQnV9 on line 15
Process exited with code 255. - Output for 7.1.26 - 7.1.33, 7.2.17 - 7.2.33
- Parse error: syntax error, unexpected '=>' (T_DOUBLE_ARROW), expecting ',' or ')' in /in/cQnV9 on line 15
Process exited with code 255.
preferences:
171.51 ms | 402 KiB | 164 Q