PHP'de Döngü ve return
Diyelim ki 1'den 5'e kadar olan sayıların toplamını
döndüren bir fonksiyonumuz var:
<?php
function func() {
$sum = 0;
for ($i = 1; $i <= 5; $i++) {
$sum += $i;
}
return $sum;
}
$res = func();
echo $res; // 15 yazdırır
?>
Şimdi return'u döngünün içine şu şekilde yerleştirelim:
<?php
function func() {
$sum = 0;
for ($i = 1; $i <= 5; $i++) {
$sum += $i;
return $sum;
}
}
$res = func();
echo $res;
?>
Bu durumda döngü sadece bir tekrar yapacak ve fonksiyondan (ve dolayısıyla döngüden) otomatik olarak çıkılacaktır. Ve bir döngü tekrarında $sum değişkeninde sadece 1 sayısı olacak, gerekli tüm toplam değil.
Aşağıdaki kodun çalıştırılması sonucunda ekrana ne yazdırılır:
<?php
function func($num) {
$sum = 0;
for ($i = 1; $i <= $num; $i++) {
$sum += $i;
return $sum;
}
}
echo func(5);
?>
Nedenini açıklayın.
Bu kodun yazarı ne yapmak istemişti? Yazarın hatasını düzeltin.