Эта функция заменяет первый на последний элемент массива.
function array_change_first_last(array &$arr)
{
$last = end($arr);
$arr[key($arr)] = reset($arr);
$arr[key($arr)] = $last;
}
$my_array = [0, 1, 2, 3, 4];
array_change_first_last($my_array);
Эта функция работает как с цифрами c, так и с ассоциативными массивами. Ключи остаются, обмениваются только значения.
$ass_array = ['a' => 0, 'b' => 1, 'c' => 2, 'd' => 3, 'z'=> 4];
array_change_first_last($ass_array);
Результат:
array(5) { ["a"]=> int(4) ["b"]=> int(1) ["c"]=> int(2) ["d"]=> int(3) ["z"]=> int(0) }