PHP-де параметрмен рекурсия

Рекурсия көмегімен массив элементтерін ретімен шығарайық. Массив бастапқыда функция параметріне берілсін:

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

Алдымен рекурсиясыз, array_shift функциясын қолданып, массивтің барлық элементтерін кезең-кезеңмен шығарайық:

php<?php
  function func($arr) {
    var_dump(array_shift($arr)); // 1 шығарады
    var_dump($arr); // [2, 3] шығарады - массив қысқарды
    
    var_dump(array_shift($arr)); // 2 шығарады
    var_dump($arr); // [3] шығарады - массив қысқарды
    
    var_dump(array_shift($arr)); // 3 шығарады
    var_dump($arr); // [] шығарады - массив бос
  }
  
  func([1, 2, 3]);
?>

Көріп отырғаныңыздай, array_shift функциясы массивтің бірінші элементін кесіп алып, қайтарады, сонымен бірге массив осы элементке қысқарады.

Енді рекурсияны қолданайық:

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

Әрине, массив элементтерін цикл арқылы анықтау оңайырақ. Келтірілген мысалдар жай ғана рекурсия жұмысын қарапайым мысалдарда (тәжірибедегі емес) көрсетеді. Рекурсияны қолданудың пайдалы мысалдары жай ғана күрделірек, біз оларды төменде қарастырамыз.

Задание 1

Массив берілген:

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

Рекурсия көмегімен осы массивтің элементтерін экранға шығарыңыз.