Petlja i return u PHP-u
Recimo da imamo funkciju koja vraća zbir
brojeva od 1 do 5:
<?php
function func() {
$sum = 0;
for ($i = 1; $i <= 5; $i++) {
$sum += $i;
}
return $sum;
}
$res = func();
echo $res; // ispisaće 15
?>
Recimo sada da smestimo return
unutar petlje, ovako:
<?php
function func() {
$sum = 0;
for ($i = 1; $i <= 5; $i++) {
$sum += $i;
return $sum;
}
}
$res = func();
echo $res;
?>
U ovom slučaju, petlja će se okrenuti samo jednu
iteraciju i doći će do automatskog izlaska
iz funkcije (a time i iz petlje). A za jednu
iteraciju petlje u promenljivoj $sum će se naći
samo broj 1, a ne ceo traženi zbir.
Šta će biti ispisano na ekranu kao rezultat izvršavanja sledećeg koda:
<?php
function func($num) {
$sum = 0;
for ($i = 1; $i <= $num; $i++) {
$sum += $i;
return $sum;
}
}
echo func(5);
?>
Objasnite zašto.
Šta je autor ovog koda hteo da uradi? Ispravite autorovu grešku.