Utilizzo di return nel ciclo in PHP
Il fatto che return sia posizionato all'interno di un ciclo,
non è sempre un errore.
Nel seguente esempio è creata una funzione che
determina quanti primi elementi dell'array
devono essere sommati affinché la somma diventi maggiore o
uguale a 10:
<?php
function func($arr) {
$length = count($arr);
$sum = 0;
for ($i = 0; $i < $length; $i++) {
$sum += $arr[$i];
// Se la somma è maggiore o uguale a 10:
if ($sum >= 10) {
return $i + 1; // usciamo dal ciclo e dalla funzione
}
}
}
$res = func([1, 2, 3, 4, 5]);
echo $res;
?>
Nel seguente esempio è creata una funzione che
calcola quanti numeri interi, a partire da
1, devono essere sommati affinché il risultato
sia maggiore di 100:
<?php
function func() {
$sum = 0;
$i = 1;
while (true) { // ciclo infinito
$sum += $i;
if ($sum >= 100) {
return $i; // il ciclo continua finché non esce qui
}
$i++;
}
}
echo func();
?>
Scrivi una funzione che prenderà come parametro un numero
e lo dividerà per 2
tante volte, finché il risultato non diventerà minore
di 10. La funzione deve restituire il numero
di iterazioni richieste per raggiungere il risultato.