Récursion avec un paramètre en PHP

Affichons séquentiellement les éléments d'un tableau à l'aide de la récursion. Supposons que le tableau soit initialement transmis en paramètre à la fonction :

php<?php
  func([1, 2, 3]);
?>

Pour commencer, sans récursion, utilisons la fonction array_shift pour afficher tous les éléments du tableau un par un :

php<?php
  function func($arr) {
    var_dump(array_shift($arr)); // affichera 1
    var_dump($arr); // affichera [2, 3] - le tableau a diminué
    
    var_dump(array_shift($arr)); // affichera 2
    var_dump($arr); // affichera [3] - le tableau a diminué
    
    var_dump(array_shift($arr)); // affichera 3
    var_dump($arr); // affichera [] - le tableau est vide
  }
  
  func([1, 2, 3]);
?>

Comme vous pouvez le voir, la fonction array_shift extrait et renvoie le premier élément du tableau, pendant que le tableau lui-même est réduit de cet élément.

Utilisons maintenant la récursion :

php<?php
  function func($arr) {
    var_dump(array_shift($arr));
    var_dump($arr);
    
    if (count($arr) !== 0) {
      func($arr);
    }
  }
  
  func([1, 2, 3]);
?>

En réalité, bien sûr, il est plus simple de parcourir les éléments d'un tableau avec une boucle. Les exemples donnés servent simplement à démontrer le fonctionnement de la récursion avec des exemples simples (non issus de la vie réelle). Les exemples plus utiles d'application de la récursion sont simplement plus complexes, nous les examinerons un peu plus tard.

Задание 1

Soit le tableau :

php<?php
  $arr = ['a' => 1, 'b' => 2, 'c' => 3, 'd' => 4, 'e' => 5];
?>

À l'aide de la récursion, affichez les éléments de ce tableau à l'écran.