(PECL ds >= 1.0.0)
Ds\Sequence::rotate — Перематывает последовательность на заданное число значений
Перематывает последовательность на заданное число значений. Данная операция аналогична
выполнению заданного количество раз кода
$sequence->push($sequence->shift()), если число оборотов
положительно и $sequence->unshift($sequence->pop()), если отрицательно.
rotationsКоличество значений, которые надо "перемотать".
Функция не возвращает значения после выполнения.. Будет изменена текущая последовательность.
Пример #1 Пример использования Ds\Sequence::rotate()
<?php
$sequence = new \Ds\Vector(["a", "b", "c", "d"]);
$sequence->rotate(1); // Аналогично $a = $sequence->shift(); $sequence->push($a);
print_r($sequence);
$sequence->rotate(2);
print_r($sequence);
?>Вывод приведённого примера будет похож на:
(
[0] => b
[1] => c
[2] => d
[3] => a
)
Ds\Vector Object
(
[0] => d
[1] => a
[2] => b
[3] => c
)