Вспомогательные функции внутри других функций в PHP

В данном уроке я покажу вам, как решать более сложные задачи, используя комбинации вспомогательных функций. Рассмотрим на примере задачи.

Пусть у нас дано число. Давайте получим все собственные делители этого числа, являющиеся простыми числами.

Пусть наше решение задачи будет представлять собой реализацию вот этой функции:

<?php function getPrimeDivisors($num) { } ?>

Писать весь код решения в нашей функции - это не очень удачная идея. Так как наша задача достаточно сложная, то ее можно разбить на подзадачи, сделав для решения каждой подзадачи отдельную вспомогательную функцию.

Немного подумав, становится понятно, что было бы неплохо иметь функцию getOwnDivisors для нахождения делителей числа и функцию isPrime для проверки числа на простоту. Если бы у нас были такие функции, то мы бы решили нашу задачу следующим образом:

<?php function getPrimeDivisors($num) { $result = []; $divs = getOwnDivisors($num); foreach ($divs as $div) { if (isPrime($div)) { $result[] = $div; } } return $result; } ?>

Напишете реализацию вспомогательных функций и решите поставленную задачу.