Rekursie met parameter in PHP

Kom ons gebruik rekursie om die elemente van 'n array opeenvolgend te vertoon. Laat die array aanvanklik as 'n parameter na die funksie oorgedra word:

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

Kom ons sonder rekursie, deur die funksie array_shift te gebruik, al die elemente van die array een vir een vertoon:

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

Soos jy kan sien, sny die funksie array_shift die eerste element van die array uit en gee dit terug, terwyl die array self met hierdie element verkort.

Kom ons nou rekursie gebruik:

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

In werklikheid is dit natuurlik die maklikste om die elemente van 'n array met 'n lus te deurkruis. Die gegewe voorbeelde demonstreer eenvoudig die werking van rekursie op eenvoudige voorbeelde (nie uit die praktyk nie). Meer nutstige voorbeelde van die toepassing van rekursie is eenvoudig meer kompleks, ons sal hulle 'n bietjie later uitmekaar sit.

Задание 1

Gegee die array:

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

Gebruik rekursie om die elemente van hierdie array op die skerm te vertoon.