Ciclul și return în PHP
Să presupunem că avem o funcție care returnează suma
numerelor de la 1 la 5:
<?php
function func() {
$sum = 0;
for ($i = 1; $i <= 5; $i++) {
$sum += $i;
}
return $sum;
}
$res = func();
echo $res; // va afișa 15
?>
Să presupunem acum că plasăm return
în interiorul ciclului, astfel:
<?php
function func() {
$sum = 0;
for ($i = 1; $i <= 5; $i++) {
$sum += $i;
return $sum;
}
}
$res = func();
echo $res;
?>
În acest caz, ciclul se va executa doar pentru o
iterație și va avea loc ieșirea automată
din funcție (și, de asemenea, din ciclu). Și într-o singură
iterație a ciclului în variabila $sum se va afla
doar numărul 1, și nu întreaga sumă necesară.
Ce se va afișa în urma executării următorului cod:
<?php
function func($num) {
$sum = 0;
for ($i = 1; $i <= $num; $i++) {
$sum += $i;
return $sum;
}
}
echo func(5);
?>
Explicați de ce.
Ce a vrut să facă autorul acestui cod? Corectați greșeala autorului.