3v4l.org

run code in 300+ PHP versions simultaneously
<?php $items = [ ['name' => 'Hank'], ['name' => 'Beavis'], ['name' => 'Butthead'], ['name' => 'Cornholio', 'caffine_powered' => true], ]; $sorter = function($a, $b){ if( key_exists('caffine_powered', $a) && key_exists('caffine_powered', $b) ) { // both exist return $a['name'] <=> $b['name']; } else if( ! (key_exists('caffine_powered', $a) || key_exists('caffine_powered', $b)) ) { // neither exist return $a['name'] <=> $b['name']; } else if( key_exists('caffine_powered', $a) ) { // just a return -1; } else { // just b return 1; } }; usort($items, $sorter); var_dump($items);

preferences:
60.57 ms | 402 KiB | 5 Q