@ 2018-10-26T14:35:58Z <?php
function repeatInt(int $val, int $min, int $max)
{
$validValueNum = $max - $min + 1;
$offset = ($val %$validValueNum + $min) % $validValueNum;
if ($offset< 0) {
$offset= $validValueNum + $offset;
}
return $min + $offset;
}
echo 'Test 2 to 5' . PHP_EOL;
echo '---------------------------------' . PHP_EOL;
foreach (range(-10, 10) as $i)
{
echo $i . ' → ' . repeatInt($i, 2, 5) . PHP_EOL;
}
echo PHP_EOL;
echo 'Test 3 to 8' . PHP_EOL;
echo '---------------------------------' . PHP_EOL;
foreach (range(-10, 10) as $i)
{
echo $i . ' → ' . repeatInt($i, 3, 8) . PHP_EOL;
}
echo PHP_EOL;
echo 'Test -2 to -4' . PHP_EOL;
echo '---------------------------------' . PHP_EOL;
foreach (range(-10, 10) as $i)
{
echo $i . ' → ' . repeatInt($i, -4, -2) . PHP_EOL;
}
echo PHP_EOL;
Enable javascript to submit You have javascript disabled. You will not be able to edit any code.
Output for 7.1.0 - 7.1.33 , 7.2.0 - 7.2.33 , 7.3.0 - 7.3.33 , 7.4.0 - 7.4.33 , 8.0.0 - 8.0.30 , 8.1.0 - 8.1.28 , 8.2.0 - 8.2.18 , 8.3.0 - 8.3.4 , 8.3.6 Test 2 to 5
---------------------------------
-10 → 2
-9 → 3
-8 → 4
-7 → 5
-6 → 2
-5 → 3
-4 → 4
-3 → 5
-2 → 2
-1 → 3
0 → 4
1 → 5
2 → 2
3 → 3
4 → 4
5 → 5
6 → 2
7 → 3
8 → 4
9 → 5
10 → 2
Test 3 to 8
---------------------------------
-10 → 8
-9 → 3
-8 → 4
-7 → 5
-6 → 6
-5 → 7
-4 → 8
-3 → 3
-2 → 4
-1 → 5
0 → 6
1 → 7
2 → 8
3 → 3
4 → 4
5 → 5
6 → 6
7 → 7
8 → 8
9 → 3
10 → 4
Test -2 to -4
---------------------------------
-10 → -3
-9 → -2
-8 → -4
-7 → -3
-6 → -2
-5 → -4
-4 → -3
-3 → -2
-2 → -4
-1 → -3
0 → -2
1 → -4
2 → -3
3 → -2
4 → -4
5 → -3
6 → -2
7 → -4
8 → -3
9 → -2
10 → -4
Output for 8.3.5 Warning: PHP Startup: Unable to load dynamic library 'sodium.so' (tried: /usr/lib/php/8.3.5/modules/sodium.so (libsodium.so.23: cannot open shared object file: No such file or directory), /usr/lib/php/8.3.5/modules/sodium.so.so (/usr/lib/php/8.3.5/modules/sodium.so.so: cannot open shared object file: No such file or directory)) in Unknown on line 0
Test 2 to 5
---------------------------------
-10 → 2
-9 → 3
-8 → 4
-7 → 5
-6 → 2
-5 → 3
-4 → 4
-3 → 5
-2 → 2
-1 → 3
0 → 4
1 → 5
2 → 2
3 → 3
4 → 4
5 → 5
6 → 2
7 → 3
8 → 4
9 → 5
10 → 2
Test 3 to 8
---------------------------------
-10 → 8
-9 → 3
-8 → 4
-7 → 5
-6 → 6
-5 → 7
-4 → 8
-3 → 3
-2 → 4
-1 → 5
0 → 6
1 → 7
2 → 8
3 → 3
4 → 4
5 → 5
6 → 6
7 → 7
8 → 8
9 → 3
10 → 4
Test -2 to -4
---------------------------------
-10 → -3
-9 → -2
-8 → -4
-7 → -3
-6 → -2
-5 → -4
-4 → -3
-3 → -2
-2 → -4
-1 → -3
0 → -2
1 → -4
2 → -3
3 → -2
4 → -4
5 → -3
6 → -2
7 → -4
8 → -3
9 → -2
10 → -4
Output for 5.6.38 Test 2 to 5
---------------------------------
Catchable fatal error: Argument 1 passed to repeatInt() must be an instance of int, integer given, called in /in/qRjBB on line 19 and defined in /in/qRjBB on line 2
Process exited with code 255 . preferences:dark mode live preview
167.61 ms | 401 KiB | 208 Q