Rekurencja z parametrem w PHP

Przy pomocy rekurencji wypiszmy sekwencyjnie elementy tablicy. Niech tablica początkowo jest przekazywana parametrowi funkcji:

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

Na razie, bez użycia rekurencji, wykorzystując funkcję array_shift wypiszmy wszystkie elementy tablicy po kolei:

php<?php
  function func($arr) {
    var_dump(array_shift($arr)); // wypisze 1
    var_dump($arr); // wypisze [2, 3] - tablica zmniejszyła się
    
    var_dump(array_shift($arr)); // wypisze 2
    var_dump($arr); // wypisze [3] - tablica zmniejszyła się
    
    var_dump(array_shift($arr)); // wypisze 3
    var_dump($arr); // wypisze [] - tablica jest pusta
  }
  
  func([1, 2, 3]);
?>

Jak widzicie, funkcja array_shift wycina i zwraca pierwszy element tablicy, przy czym sama tablica zmniejsza się o ten element.

Wykorzystajmy teraz rekurencję:

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

Oczywiście, najprościej jest przejść po elementach tablicy pętlą. Przytoczone przykłady po prostu demonstrują działanie rekurencji na prostych przykładach (nie z życia wziętych). Bardziej przydatne przykłady zastosowania rekurencji są po prostu bardziej skomplikowane, przeanalizujemy je nieco poniżej.

Задание 1

Dana jest tablica:

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

Za pomocą rekurencji wyświetl elementy tej tablicy na ekranie.