Rekursion mit Parameter in PHP
Lassen Sie uns mit Hilfe von Rekursion nacheinander die Elemente des Arrays ausgeben. Das Array soll anfangs als Parameter an die Funktion übergeben werden:
<?php
func([1, 2, 3]);
?>
Lassen Sie uns zunächst ohne Rekursion, unter Verwendung der Funktion
array_shift
alle Elemente des Arrays nacheinander ausgeben:
<?php
function func($arr) {
var_dump(array_shift($arr)); // gibt 1 aus
var_dump($arr); // gibt [2, 3] aus - Array wurde verkleinert
var_dump(array_shift($arr)); // gibt 2 aus
var_dump($arr); // gibt [3] aus - Array wurde verkleinert
var_dump(array_shift($arr)); // gibt 3 aus
var_dump($arr); // gibt [] aus - Array ist leer
}
func([1, 2, 3]);
?>
Wie Sie sehen, schneidet die Funktion array_shift
das erste Element des Arrays aus und gibt es zurück,
wobei das Array selbst um dieses Element verkleinert wird.
Lassen Sie uns nun Rekursion verwenden:
<?php
function func($arr) {
var_dump(array_shift($arr));
var_dump($arr);
if (count($arr) !== 0) {
func($arr);
}
}
func([1, 2, 3]);
?>
Tatsächlich ist es natürlich einfacher, die Elemente des Arrays mit einer Schleife durchzugehen. Die angeführten Beispiele dienen zunächst nur dazu, die Funktionsweise der Rekursion an einfachen (nicht praxisnahen) Beispielen zu demonstrieren. Nützlichere Beispiele für den Einsatz von Rekursion sind einfach etwas komplexer; wir werden sie etwas weiter unten analysieren.
Gegeben ist das Array:
<?php
$arr = ['a' => 1, 'b' => 2, 'c' => 3, 'd' => 4, 'e' => 5];
?>
Geben Sie mit Hilfe von Rekursion die Elemente dieses Arrays auf dem Bildschirm aus.