3v4l.org

run code in 300+ PHP versions simultaneously
<?php $items = [ ['name' => 'Beavis'], ['name' => 'Butthead'], ['name' => 'Cornholio', 'caffine_powered' => true], ]; $sorter = function($a, $b){ if( key_exists('caffine_powered', $a) && key_exists('caffine_powered', $b) ) { return $a['name'] <=> $b['name']; } else if( ! (key_exists('caffine_powered', $a) || key_exists('caffine_powered', $b)) ) { return $a['name'] <=> $b['name']; } else if( key_exists('caffine_powered', $a) ) { return -1; } else { return 1; } }; usort($items, $sorter); # How do I get cornholio to the top but preserve the order of Beavis & Butthead? var_dump($items);

preferences:
53.7 ms | 402 KiB | 5 Q