3v4l.org

run code in 300+ PHP versions simultaneously
<?php $array = [ ['id' => 1, 'sort_code' => 4], ['id' => 2, 'sort_code' => 2], ['id' => 3], ['id' => 4, 'sort_code' => 8], ['id' => 5], ['id' => 6, 'sort_code' => 6] ]; uasort($array, function($a, $b) { echo "\n" . json_encode($a) . " -vs- " . json_encode($b) . " eval: "; echo $eval = (int)(isset($a['sort_code'], $b['sort_code']) && $a['sort_code'] > $b['sort_code']); return $eval; }); echo "\n---\n"; var_export($array); echo "\n======\n"; uasort($array, function($a, $b) { echo "\n" . json_encode($a) . " -vs- " . json_encode($b) . " eval: "; echo $eval = ($a['sort_code'] ?? 0) <=> ($b['sort_code'] ?? 0); return $eval; }); echo "\n---\n"; var_export($array);
Output for 7.2.21, 7.4.0 - 7.4.33, 8.0.1 - 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
{"id":1,"sort_code":4} -vs- {"id":2,"sort_code":2} eval: 1 {"id":1,"sort_code":4} -vs- {"id":3} eval: 0 {"id":3} -vs- {"id":4,"sort_code":8} eval: 0 {"id":4,"sort_code":8} -vs- {"id":5} eval: 0 {"id":5} -vs- {"id":6,"sort_code":6} eval: 0 --- array ( 1 => array ( 'id' => 2, 'sort_code' => 2, ), 0 => array ( 'id' => 1, 'sort_code' => 4, ), 2 => array ( 'id' => 3, ), 3 => array ( 'id' => 4, 'sort_code' => 8, ), 4 => array ( 'id' => 5, ), 5 => array ( 'id' => 6, 'sort_code' => 6, ), ) ====== {"id":2,"sort_code":2} -vs- {"id":1,"sort_code":4} eval: -1 {"id":1,"sort_code":4} -vs- {"id":3} eval: 1 {"id":2,"sort_code":2} -vs- {"id":3} eval: 1 {"id":1,"sort_code":4} -vs- {"id":4,"sort_code":8} eval: -1 {"id":4,"sort_code":8} -vs- {"id":5} eval: 1 {"id":1,"sort_code":4} -vs- {"id":5} eval: 1 {"id":2,"sort_code":2} -vs- {"id":5} eval: 1 {"id":3} -vs- {"id":5} eval: 0 {"id":4,"sort_code":8} -vs- {"id":6,"sort_code":6} eval: 1 {"id":1,"sort_code":4} -vs- {"id":6,"sort_code":6} eval: -1 --- array ( 2 => array ( 'id' => 3, ), 4 => array ( 'id' => 5, ), 1 => array ( 'id' => 2, 'sort_code' => 2, ), 0 => array ( 'id' => 1, 'sort_code' => 4, ), 5 => array ( 'id' => 6, 'sort_code' => 6, ), 3 => array ( 'id' => 4, 'sort_code' => 8, ), )

preferences:
130.66 ms | 411 KiB | 5 Q