Verwendung von return in Schleifen in PHP
Dass sich return innerhalb einer Schleife befindet,
muss nicht immer ein Fehler sein.
Im folgenden Beispiel wurde eine Funktion erstellt, die
bestimmt, wie viele der ersten Elemente eines Arrays
addiert werden müssen, damit die Summe größer oder
gleich 10 wird:
<?php
function func($arr) {
$length = count($arr);
$sum = 0;
for ($i = 0; $i < $length; $i++) {
$sum += $arr[$i];
// Wenn die Summe größer oder gleich 10 ist:
if ($sum >= 10) {
return $i + 1; // Schleife und Funktion verlassen
}
}
}
$res = func([1, 2, 3, 4, 5]);
echo $res;
?>
Im folgenden Beispiel wurde eine Funktion erstellt, die
berechnet, wie viele ganze Zahlen, beginnend mit
1, addiert werden müssen, damit das Ergebnis
größer als 100 ist:
<?php
function func() {
$sum = 0;
$i = 1;
while (true) { // Endlosschleife
$sum += $i;
if ($sum >= 100) {
return $i; // Schleife läuft, bis sie hier verlassen wird
}
$i++;
}
}
echo func();
?>
Schreiben Sie eine Funktion, die eine Zahl als Parameter entgegennimmt
und sie so oft durch 2 teilt,
bis das Ergebnis kleiner als
10 ist. Die Funktion soll die Anzahl der
Iterationen zurückgeben, die zur Erreichung des
Ergebnisses erforderlich waren.