Ricorsione con parametro in PHP
Utilizziamo la ricursione per visualizzare in sequenza gli elementi di un array. Supponiamo che l'array venga inizialmente passato come parametro alla funzione:
<?php
func([1, 2, 3]);
?>
Per prima cosa, senza usare la ricorsione, utilizziamo la funzione
array_shift
per visualizzare tutti gli elementi dell'array uno per uno:
<?php
function func($arr) {
var_dump(array_shift($arr)); // visualizzerà 1
var_dump($arr); // visualizzerà [2, 3] - l'array si è ridotto
var_dump(array_shift($arr)); // visualizzerà 2
var_dump($arr); // visualizzerà [3] - l'array si è ridotto
var_dump(array_shift($arr)); // visualizzerà 3
var_dump($arr); // visualizzerà [] - l'array è vuoto
}
func([1, 2, 3]);
?>
Come puoi vedere, la funzione array_shift
estrae e restituisce il primo elemento dell'array,
mentre l'array stesso si riduce di quell'elemento.
Ora utilizziamo la ricorsione:
<?php
function func($arr) {
var_dump(array_shift($arr));
var_dump($arr);
if (count($arr) !== 0) {
func($arr);
}
}
func([1, 2, 3]);
?>
In realtà, ovviamente, è più semplice scorrere gli elementi di un array con un ciclo. Gli esempi forniti servono semplicemente a dimostrare il funzionamento della ricorsione con esempi semplici (non reali). Gli esempi più utili di applicazione della ricorsione sono semplicemente più complessi, li analizzeremo più avanti.
Dato il seguente array:
<?php
$arr = ['a' => 1, 'b' => 2, 'c' => 3, 'd' => 4, 'e' => 5];
?>
Utilizza la ricorsione per visualizzare gli elementi di questo array sullo schermo.