ციკლი და 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);
?>
ახსენით რატომ.
რა სურდა ამ კოდის ავტორს? გამასწორეთ ავტორის შეცდომა.