Стоит задача реализовать последовательность чисел по условию 2 через 2, то есть числа должны идти в таком порядке: 0, 1, 4, 5, 8, 9, 12, 13, 16, 17… Для реализации массива в цикле используем увеличение на 4 и деление по модулю на 4
$arr = [];
for ($i = 0; $i < 20; $i = $i + 4) {
if (!($i%4)) {
$arr[] = $i;
$arr[] = $i + 1;
}
}
print_r($arr);
Получаем массив:
Array
(
[0] => 0
[1] => 1
[2] => 4
[3] => 5
[4] => 8
[5] => 9
[6] => 12
[7] => 13
[8] => 16
[9] => 17
)
Для определения любого числа из данной последовательности используем рекурсию
function detectNum($n) {
if ($n <= 0) {
return in_array($n, [0, -3]);
}
$offset = $offset - 4;
return detectNum($n);
}