#php #function
Вопрос:
Есть проблема с уроком «использование функций». Код внутри функции (когда он помещен вне функции; возвращает массив) кажется правильным, но функция выводит значение NULL. Вот как это выглядит. Укажите, пожалуйста, где я поступаю неправильно.
function getDivisors($num)
{
for ($i=1; $i<=$num; $i )
{
if ($num % $i == 0)
{
$divisors[] = $i;
}
}
}
Я предполагаю, что вывод в массив неверен, но… это все еще неуверенно.
Комментарии:
1. Похоже, вы забыли
return
массив из функции2. P. s. покажите нам, как вы вызываете функцию, для контекста
3. Большое спасибо! Функция является частью упражнения, которое требует ее использования в функциях getCommonDivisors($num1,$num2), например: $result[] = array_intersect(getDivisors($num1), getDivisors($num2)); Поэтому все это начинается с нуля в качестве переменных.
Ответ №1:
Ваша функция возвращает значение null, потому что вы не вернули свой массив.
Измените свою функцию следующим образом :
function getDivisors($num) {
for ($i=1; $i<=$num; $i ) {
if ($num % $i == 0) {
$divisors[] = $i;
}
}
return $divisors;
}
Комментарии:
1. Моя огромная благодарность. Похоже, в этой теме для меня было много подводных камней.