<?php
function popUnshift(array $indexedArray, int $popShiftsCount): array
{
$count = count($indexedArray);
if ($count < 2) {
return $indexedArray;
}
$remainder = $popShiftsCount % $count;
if (!$remainder) {
return $indexedArray;
}
return array_merge(
array_splice($indexedArray, -$remainder),
$indexedArray
);
}
$A = [1, 2, 3, 4];
foreach (range(0, 9) as $K) {
var_export(popUnshift($A, $K));
echo "\n---\n";
}
- Output for 7.4.0 - 7.4.33, 8.0.1 - 8.0.30, 8.1.0 - 8.1.31, 8.2.0 - 8.2.27, 8.3.0 - 8.3.15, 8.4.1 - 8.4.2
- array (
0 => 1,
1 => 2,
2 => 3,
3 => 4,
)
---
array (
0 => 4,
1 => 1,
2 => 2,
3 => 3,
)
---
array (
0 => 3,
1 => 4,
2 => 1,
3 => 2,
)
---
array (
0 => 2,
1 => 3,
2 => 4,
3 => 1,
)
---
array (
0 => 1,
1 => 2,
2 => 3,
3 => 4,
)
---
array (
0 => 4,
1 => 1,
2 => 2,
3 => 3,
)
---
array (
0 => 3,
1 => 4,
2 => 1,
3 => 2,
)
---
array (
0 => 2,
1 => 3,
2 => 4,
3 => 1,
)
---
array (
0 => 1,
1 => 2,
2 => 3,
3 => 4,
)
---
array (
0 => 4,
1 => 1,
2 => 2,
3 => 3,
)
---
preferences:
109.14 ms | 408 KiB | 5 Q