Сдвиг элементов массива

Допустим у нас есть некий массив и мы хотим сдвинуть его влево или вправо на заданное число элементов.

Скопировано
$arr = [ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 ];
$shift = 2;
$arr = array_merge( array_slice( $arr, $shift ), array_slice( $arr, 0, $shift ) );
Показать код

Результат:

Array (
  [0] => 2
  [1] => 3
  [2] => 4
  [3] => 5
  [4] => 0
  [5] => 1
)

В переменной $shift мы задаем на сколько элементов сдвинуть массив. Если она положительная, то элементы сдвигаются влево (вверх), а если отрицательная, то вправо (вниз).