Цыкл і 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);
?>
Тлумачце чаму.
Што хацеў зрабіць аўтар гэтага кода? Выпраўце памылку аўтара.