Как объединить 2 функции

Есть задача. Реализовать функцию findSimple ($a, $b). $a и $b – целые положительные числа. Результат ее выполнение: массив простых чисел от $a до $b. Я решил ее вот таким методом.

function is_prime($num)
{
  if ($num == 1)
    return false;
    for ($i = 2; $i <= $num/2; $i++)
    {
      if ($num % $i == 0)
      {
          return false;
      }
    }
  return true;
}

function findSimple ($a, $b)
{
    $arr = [];

    for($i=$a; $i<=$b; $i++) {
        if(is_prime($i)){
            $arr[] = $i;
        }

    }

  return $arr;
}

$r = findSimple (3, 7);
print_r($r);

Сам вопрос, как объединить эти 2 функции в одну не очень понимаю механизм.


Ответы (1 шт):

Автор решения: Эдуард

Если по каким-то причинам запрещено использовать range(), то можно просто проверять аргументы, и по условию собирать массив чисел

<?php

function findSimple(int $a, int $b): array
{
    $arr = [];
    if ($a > 0 && $b > 0) {
        for($i=$a; $i<=$b; $i++) {
            $arr[] = $i;
        }
    }
    return $arr;
}

$r = findSimple (3, 7);
print_r($r);
→ Ссылка