Ciclo y return en PHP
Supongamos que tenemos una función que devuelve la suma
de números del 1 al 5:
<?php
function func() {
$sum = 0;
for ($i = 1; $i <= 5; $i++) {
$sum += $i;
}
return $sum;
}
$res = func();
echo $res; // mostrará 15
?>
Ahora supongamos que colocamos return
dentro del ciclo, así:
<?php
function func() {
$sum = 0;
for ($i = 1; $i <= 5; $i++) {
$sum += $i;
return $sum;
}
}
$res = func();
echo $res;
?>
En este caso, el ciclo solo se ejecutará una
iteración y ocurrirá una salida automática
de la función (y, por cierto, también del ciclo). Y en una
iteración del ciclo, la variable $sum contendrá
solo el número 1, y no la suma completa requerida.
¿Qué se mostrará en pantalla como resultado de ejecutar el siguiente código:
<?php
function func($num) {
$sum = 0;
for ($i = 1; $i <= $num; $i++) {
$sum += $i;
return $sum;
}
}
echo func(5);
?>
Explica por qué.
¿Qué intentaba hacer el autor de este código? Corrige el error del autor.