Rekursioni me Parametër në PHP

Le të shfaqim në mënyrë sekuenciale elementët e vargut duke përdorur rekursion. Le të supozojmë se vargu fillimisht i transmetohet si parametër funksionit:

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

Le të shfaqim të gjithë elementët e vargut njëri pas tjetrit përdorim funksionin array_shift për momentin pa rekursion:

php<?php
  function func($arr) {
    var_dump(array_shift($arr)); // do të shfaqë 1
    var_dump($arr); // do të shfaqë [2, 3] - vargu u zvogëlua
    
    var_dump(array_shift($arr)); // do të shfaqë 2
    var_dump($arr); // do të shfaqë [3] - vargu u zvogëlua
    
    var_dump(array_shift($arr)); // do të shfaqë 3
    var_dump($arr); // do të shfaqë [] - vargu është bosh
  }
  
  func([1, 2, 3]);
?>

Siç e shihni, funksioni array_shift pranon dhe kthen elementin e parë të vargut, ndërkohë që vetë vargu zvogëlohet për atë element.

Le të përdorim tani rekursionin:

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

Në realitet, sigurisht, mënyra më e lehtë është të përsëriten elementët e vargut me një cikël. Shembujt e dhënë thjesht demonstrojnë punën e rekursionit në shembuj të thjeshtë (jo të jetës reale). Shembujt më të dobishëm të zbatimit të rekursionit janë më të ndërlikuar, ne do t'i shqyrtojmë pak më poshtë.

Задание 1

Është dhënë vargu:

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

Duke përdorur rekursionin, shfaqni elementët e këtij vargu në ekran.