Rekurzija s parametrom v PHP

Z rekurzijo zaporedoma izpišimo elemente polja. Naj bo polje na začetku posredovano parametrom funkcije:

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

Za zdaj brez rekurzije z uporabo funkcije array_shift izpišimo vse elemente polja enega za drugim:

php<?php
  function func($arr) {
    var_dump(array_shift($arr)); // izpiše 1
    var_dump($arr); // izpiše [2, 3] - polje se je zmanjšalo
    
    var_dump(array_shift($arr)); // izpiše 2
    var_dump($arr); // izpiše [3] - polje se je zmanjšalo
    
    var_dump(array_shift($arr)); // izpiše 3
    var_dump($arr); // izpiše [] - polje je prazno
  }
  
  func([1, 2, 3]);
?>

Kot lahko vidite, funkcija array_shift izreže in vrne prvi element polja, medtem ko se samo polje zmanjša za ta element.

Zdaj pa uporabimo rekurzijo:

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

Pravzaprav je seveda najlažje prebrati elemente polja z zanko. Navedeni primeri so preprosto prikaz delovanja rekurzije na preprostih primerih (ne iz resnične prakse). Bolj uporabni primeri uporabe rekurzije so preprosto bolj zapleteni, analizirali jih bomo malo kasneje.

Задание 1

Podano je polje:

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

Z rekurzijo izpišite elemente tega polja na zaslon.