⊗ppPmRcEP 218 of 447 menu

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.

Italiano
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesia日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Utilizziamo i cookie per il funzionamento del sito, l'analisi e la personalizzazione. I dati vengono elaborati in conformità con la Politica sulla privacy.
accetta tutto personalizza rifiuta