- abs: documentation ( source)
- ceil: documentation ( source)
- range: documentation ( source)
<?php
echo ceil(abs(-10/4)) * 4;
echo PHP_EOL;
echo PHP_EOL;
function repeatInt(int $value, int $min, int $max)
{
$validValueNum = $max - $min + 1;
$result = (($value + $min) % $validValueNum);
if ($value < $min) {
$offset = $min - $value;
$result = ($validValueNum - ($offset % $validValueNum));
if($result >= $validValueNum)
{
$result = 0;
}
}
return $result + $min;
}
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;