3v4l.org

run code in 300+ PHP versions simultaneously
<?php $a = [1,2,3,4,5]; function array_rotate(&$array, $step = 1) { $length = count($array); end($array); while ($step--) prev($array); while ($length--) { next($array); if (key($array) === null) reset($array); yield current($array); } } print_r(iterator_to_array(array_rotate($a, 2)));

preferences:
24.49 ms | 411 KiB | 5 Q