Recursie met een parameter in PHP

Laten we, met behulp van recursie, opeenvolgend de elementen van een array tonen. Laat de array aanvankelijk worden doorgegeven als parameter aan de functie:

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

Laten we eerst zonder recursie, gebruikmakend van de functie array_shift alle elementen van de array een voor een tonen:

php<?php
  function func($arr) {
    var_dump(array_shift($arr)); // toont 1
    var_dump($arr); // toont [2, 3] - array is verkleind
    
    var_dump(array_shift($arr)); // toont 2
    var_dump($arr); // toont [3] - array is verkleind
    
    var_dump(array_shift($arr)); // toont 3
    var_dump($arr); // toont [] - array is leeg
  }
  
  func([1, 2, 3]);
?>

Zoals je ziet, de functie array_shift verwijdert en retourneert het eerste element van de array, terwijl de array zelf met dit element wordt verkleind.

Laten we nu recursie gebruiken:

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

Eigenlijk is het natuurlijk eenvoudiger om de elementen van de array met een lus te doorlopen. De gegeven voorbeelden dienen simpelweg om de werking van recursie te demonstreren aan de hand van eenvoudige (niet real-life) voorbeelden. Meer nutige voorbeelden van recursie zijn gewoon complexer, we zullen deze hieronder bespreken.

Задание 1

Gegeven de volgende array:

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

Gebruik recursie om de elementen van deze array op het scherm weer te geven.