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(array_reverse($order)); uksort($aShips, function($a, $b) use ($lookup) { return ($lookup[$b] ?? -1) <=> ($lookup[$a] ?? -1); }); var_export($aShips);
Output for 7.1.26 - 7.1.33, 7.2.17 - 7.2.33, 7.3.0 - 7.3.33, 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.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:
142.98 ms | 408 KiB | 5 Q