3v4l.org

run code in 300+ PHP versions simultaneously
<?php $rows = [ ['ID' => 188, 'zip_code' => 60022, 'approved' => 0], ['ID' => 124, 'zip_code' => 60002, 'approved' => 0], ['ID' => 138, 'zip_code' => 60007, 'approved' => 1], ['ID' => 114, 'zip_code' => 60007, 'approved' => 1], ['ID' => 105, 'zip_code' => 60003, 'approved' => 0], ['ID' => 104, 'zip_code' => 60002, 'approved' => 1], ['ID' => 199, 'zip_code' => 60199, 'approved' => 0], ['ID' => 106, 'zip_code' => 60001, 'approved' => 0], ['ID' => 184, 'zip_code' => 60022, 'approved' => 1], ['ID' => 103, 'zip_code' => 60007, 'approved' => 0], ]; $priorityZips = array_flip([60007, 60001, 60003, 60002]); $priorityCount = count($priorityZips); usort($rows, fn($a, $b) => [ $priorityZips[$a['zip_code']] ?? $priorityCount, $a['zip_code'], $b['approved'] ] <=> [ $priorityZips[$b['zip_code']] ?? $priorityCount, $b['zip_code'], $a['approved'] ] ); var_export($rows);
Output for 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.27, 8.4.1 - 8.4.14
array ( 0 => array ( 'ID' => 138, 'zip_code' => 60007, 'approved' => 1, ), 1 => array ( 'ID' => 114, 'zip_code' => 60007, 'approved' => 1, ), 2 => array ( 'ID' => 103, 'zip_code' => 60007, 'approved' => 0, ), 3 => array ( 'ID' => 106, 'zip_code' => 60001, 'approved' => 0, ), 4 => array ( 'ID' => 105, 'zip_code' => 60003, 'approved' => 0, ), 5 => array ( 'ID' => 104, 'zip_code' => 60002, 'approved' => 1, ), 6 => array ( 'ID' => 124, 'zip_code' => 60002, 'approved' => 0, ), 7 => array ( 'ID' => 184, 'zip_code' => 60022, 'approved' => 1, ), 8 => array ( 'ID' => 188, 'zip_code' => 60022, 'approved' => 0, ), 9 => array ( 'ID' => 199, 'zip_code' => 60199, 'approved' => 0, ), )
Output for 7.3.0 - 7.3.33
Parse error: syntax error, unexpected '=>' (T_DOUBLE_ARROW), expecting ')' in /in/lrMUf on line 19
Process exited with code 255.
Output for 7.2.0 - 7.2.33
Parse error: syntax error, unexpected '=>' (T_DOUBLE_ARROW), expecting ',' or ')' in /in/lrMUf on line 19
Process exited with code 255.

preferences:
59.19 ms | 409 KiB | 5 Q