Rekursion med parameter i PHP

Lad os ved hjælp af rekursion sekventielt udskrive elementerne i et array. Lad arrayet oprindeligt blive transmitteret til funktionens parameter:

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

Lad os uden rekursion, ved at bruge funktionen array_shift udskrive alle arrayets elementer én efter én:

php<?php
  function func($arr) {
    var_dump(array_shift($arr)); // udskriver 1
    var_dump($arr); // udskriver [2, 3] - arrayet er blevet mindre
    
    var_dump(array_shift($arr)); // udskriver 2
    var_dump($arr); // udskriver [3] - arrayet er blevet mindre
    
    var_dump(array_shift($arr)); // udskriver 3
    var_dump($arr); // udskriver [] - arrayet er tomt
  }
  
  func([1, 2, 3]);
?>

Som du kan se, skærer funktionen array_shift den første element ud af arrayet og returnerer den, samtidig med at arrayet selv bliver mindre med dette element.

Lad os nu bruge rekursion:

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

Selvfølgelig er det nemmeste i virkeligheden at gennemgå arrayets elementer med en løkke. De givne eksempler demonstrerer simpelthen rekursionens funktion med simple eksempler (ikke livsagtige). Mere nyttige eksempler på anvendelse af rekursion er bare mere komplekse, vi vil gennemgå dem lidt nedenfor.

Задание 1

Givet et array:

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

Med hjælp fra rekursion, udskriv elementerne fra dette array på skærmen.