3v4l.org

run code in 300+ PHP versions simultaneously
<?php $data = [ 'a' => 1, 'b' => 2, 'c' => 3, 'd' => 4, ]; function mangle_array($key_to_remove, $key_to_place_after, array $data) { $tmp_value = $data[$key_to_remove]; $new_data = $data; unset($new_data[$key_to_remove]); $to_place_after_position = array_search($key_to_place_after, array_keys($new_data)); $before = array_slice($new_data, 0, $to_place_after_position + 1); $middle = [$key_to_remove => $tmp_value]; $after = array_slice($new_data, $to_place_after_position + 1); return array_merge($before, $middle, $after); } $data_mangled = mangle_array('b', 'c', $data); var_dump($data_mangled);

preferences:
26 ms | 402 KiB | 5 Q