(PECL ds >= 1.0.0)
Ds\Sequence::rotate — Перематывает последовательность на заданное число значений
$rotations
)
Перематывает последовательность на заданное число значений. Данная операция аналогична
выполнению заданное количество раз кода
$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 )