Цикл и return в PHP
Пусть у нас есть функция, возвращающая сумму
чисел от 1
до 5
:
<?php
function func() {
$sum = 0;
for ($i = 1; $i <= 5; $i++) {
$sum += $i;
}
return $sum;
}
$res = func();
echo $res; // выведет 15
?>
Пусть теперь мы расположим return
внутри цикла, вот так:
<?php
function func() {
$sum = 0;
for ($i = 1; $i <= 5; $i++) {
$sum += $i;
return $sum;
}
}
$res = func();
echo $res;
?>
В этом случае цикл прокрутится лишь одну
итерацию и произойдет автоматический выход
из функции (ну и заодно из цикла). А за одну
итерацию цикла в переменной $sum
окажется
лишь число 1
, а не вся нужная сумма.
Что выведется на экран в результате выполнения следующего кода:
<?php
function func($num) {
$sum = 0;
for ($i = 1; $i <= $num; $i++) {
$sum += $i;
return $sum;
}
}
echo func(5);
?>
Объясните почему.
Что хотел сделать автор данного кода? Исправьте ошибку автора.