3v4l.org

run code in 300+ PHP versions simultaneously
<?php function swapOffsets(array $array, $offset1, $offset2) { list($offset1, $offset2) = array(min($offset1, $offset2), max($offset1, $offset2)); return array_merge( array_slice($array, 0, $offset1, true), array_slice($array, $offset2, 1, true), array_slice($array, $offset1 + 1, $offset2 - $offset1 - 1, true), array_slice($array, $offset1, 1, true), array_slice($array, $offset2 + 1, null, true) ); } var_dump(swapOffsets(['a' => 1, 'b' => 2, 'c' => 3, 'd' => 4, 'e' => 5], 1, 3));

preferences:
53.03 ms | 402 KiB | 5 Q