3v4l.org

run code in 300+ PHP versions simultaneously
<?php $aShips = ['0_204' => 1, '0_209' => 1.5,'0_205' => 2, '0_206' => 3, '0_207' => 4]; $order = ["0_206", "0_205", "0_204", "0_207"]; $lookup = array_flip($order); $default = count($order); uksort($aShips, fn($a, $b) => ($lookup[$a] ?? $default) <=> ($lookup[$b] ?? $default)); var_export($aShips);
Output for 8.0.1 - 8.0.30, 8.1.0 - 8.1.33, 8.2.0 - 8.2.29, 8.3.0 - 8.3.26, 8.4.1 - 8.4.13
array ( '0_206' => 3, '0_205' => 2, '0_204' => 1, '0_207' => 4, '0_209' => 1.5, )

preferences:
96.49 ms | 406 KiB | 5 Q