Rekurzija sa parametrom u PHP

Hajde da, uz pomoć rekurzije, uzastopno ispisujemo elemente niza. Neka se niz inicijalno prosledi kao parametar funkcije:

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

Hajde za sada bez rekurzije, koristeći funkciju array_shift ispisujemo sve elemente niza jedan za drugim:

php<?php
  function func($arr) {
    var_dump(array_shift($arr)); // ispisaće 1
    var_dump($arr); // ispisaće [2, 3] - niz se smanjio
    
    var_dump(array_shift($arr)); // ispisaće 2
    var_dump($arr); // ispisaće [3] - niz se smanjio
    
    var_dump(array_shift($arr)); // ispisaće 3
    var_dump($arr); // ispisaće [] - niz je prazan
  }
  
  func([1, 2, 3]);
?>

Kao što vidite, funkcija array_shift izdvaja i vraća prvi element niza, pri čemu se sam niz smanjuje za taj element.

Hajde sada da iskoristimo rekurziju:

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

U stvarnosti, naravno, najjednostavnije je proći kroz elemente niza petljom. Navedeni primeri za sada jednostavno demonstriraju rad rekurzije na jednostavnim primerima (koji nisu iz stvarnog života). Korisniji primeri primene rekurzije su jednostavno komplikovaniji, analiziraćemo ih nešto kasnije.

Задание 1

Dat je niz:

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

Uz pomoć rekurzije ispišite elemente ovog niza na ekran.