3v4l.org

run code in 200+ php & hhvm versions
Bugs & Features
<?php // This code is public domain. The original author is Marc Ermshaus. error_reporting(-1); /** * Circularly shifts an array * * Shifts to right for $steps > 0. Shifts to left for $steps < 0. Keys are * preserved. * * @param array $array Array to shift * @param int $steps Steps to shift array by * @return array Resulting array */ function array_circular(array $array, $steps = 1) { if ($steps === 0) { return $array; } $l = count($array); if ($l === 0) { return $array; } $steps = $steps % $l; $steps *= -1; return array_merge(array_slice($array, $steps), array_slice($array, 0, $steps)); } header('content-type: text/plain'); $a = array("1" => "Primeiro", "2"=>"Segundo", "3"=>"Terceiro", "4"=> "Quarto"); $l = count($a); for ($i = $l * -2; $i <= $l * 2; $i++) { printf("% 3s : %s\n", $i, implode(', ', array_shift_circular($a, $i))); } ?>
based on de2Nb
Output for 7.0.30 - 7.3.0beta1
Fatal error: Uncaught Error: Call to undefined function array_shift_circular() in /in/sSCo7:44 Stack trace: #0 {main} thrown in /in/sSCo7 on line 44
Process exited with code 255.
Output for hhvm-3.22.0
Fatal error: Uncaught Error: Call to undefined function array_shift_circular() in /in/sSCo7:-1 Stack trace: #0 {main}
Process exited with code 255.
Output for hhvm-3.18.5 - 3.21.3
Fatal error: Uncaught Error: Call to undefined function array_shift_circular() in /in/sSCo7:44 Stack trace: #0 {main}
Process exited with code 255.
Output for 5.6.30
Fatal error: Call to undefined function array_shift_circular() in /in/sSCo7 on line 44
Process exited with code 255.