Rekursion med parameter i PHP

Låt oss, med hjälp av rekursion, sekventiellt visa elementen i arrayen. Låt arrayen initialt skickas som parameter till funktionen:

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

Låt oss först, utan rekursion, använda funktionen array_shift för att visa alla element i arrayen en efter en:

php<?php
  function func($arr) {
    var_dump(array_shift($arr)); // visar 1
    var_dump($arr); // visar [2, 3] - arrayen har minskat
    
    var_dump(array_shift($arr)); // visar 2
    var_dump($arr); // visar [3] - arrayen har minskat
    
    var_dump(array_shift($arr)); // visar 3
    var_dump($arr); // visar [] - arrayen är tom
  }
  
  func([1, 2, 3]);
?>

Som du kan se, funktionen array_shift skär ut och returnerar det första elementet i arrayen, samtidigt som arrayen minskar med det elementet.

Låt oss nu använda rekursion:

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

I verkligheten är det naturligtvis enklast att iterera över arrayelement med en loop. De givna exemplen visar helt enkelt hur rekursion fungerar med enkla exempel (inte praktiska). Mer användbara exempel på tillämpning av rekursion är bara mer komplexa, vi kommer att analysera dem lite nedan.

Задание 1

Given array:

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

Med hjälp av rekursion, visa elementen i denna array på skärmen.