Kuitumia Rekursi na Parameta katika PHP

Wacha, kwa kutumia rekursi tuonyeshe mfululizo wa vipengele vya safu. Acha safu awali ipitiswe kama parameta ya kitendakazi:

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

Wacha kwa sasa tusiitumie rekursi tukitumia kitendakazi array_shift tuonyeshe vipengele vyote vya safu kwa mfuatano:

php<?php
  function func($arr) {
    var_dump(array_shift($arr)); // itaonyesha 1
    var_dump($arr); // itaonyesha [2, 3] - safu imepungua
    
    var_dump(array_shift($arr)); // itaonyesha 2
    var_dump($arr); // itaonyesha [3] - safu imepungua
    
    var_dump(array_shift($arr)); // itaonyesha 3
    var_dump($arr); // itaonyesha [] - safu ni tupu
  }
  
  func([1, 2, 3]);
?>

Kama unavyoona, kitendakazi array_shift kinatoa na kurudisha kipengele cha kwanza cha safu, wakati huo huo, safu yenyewe hupungua kwa kipengele hicho.

Wacha sasa tuitumie rekursi:

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

Kweli, bila shaka, ni rahisi zaidi kutaja kwa mzunguko vipengele vya safu. Mifano iliyowasilishwa kwa sasa inaonyesha tu utendakazi wa rekursi kwa mifano rahisi (isiyo ya kawaida). Mifano inayofaa zaidi ya matumizi ya rekursi ni ngumu zaidi, tutayachambua kidogo chini.

Задание 1

Safu ifuatayo imetolewa:

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

Kwa kutumia rekursi, onyesha vipengele vya hii safu kwenye skrini.