PHP да цикли ва return
Фарз килайлик, бизда 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);
?>
Сабабини тушунтиринг.
Бу коднинг муаллифи нима қилмоқчи бўлган? Муаллифнинг хатосини тўғриланг.