PHP-da parametr bilan rekursiya

Keling, rekursiya yordamida massiv elementlarini ketma-ketlik bilan chiqaramiz. Massiv dastlab funktsiya parametri sifatida uzatilsin:

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

Keling, hozircha rekursiyasiz, array_shift funktsiyasidan foydalanib, massivning barcha elementlarini navbat bilan chiqaramiz:

php<?php
  function func($arr) {
    var_dump(array_shift($arr)); // 1 ni chiqaradi
    var_dump($arr); // [2, 3] ni chiqaradi - massiv qisqardi
    
    var_dump(array_shift($arr)); // 2 ni chiqaradi
    var_dump($arr); // [3] ni chiqaradi - massiv qisqardi
    
    var_dump(array_shift($arr)); // 3 ni chiqaradi
    var_dump($arr); // [] ni chiqaradi - massiv bo'sh
  }
  
  func([1, 2, 3]);
?>

Ko'rib turganingizdek, array_shift funktsiyasi massivning birinchi elementini kesib oladi va qaytaradi, shu bilan birga massiv shu elementga qisqaradi.

Keling, endi rekursiyani qo'llaymiz:

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

Aslida, albatta, massiv elementlarini aylana orqali aylantirish ancha oson. Keltirilgan misollar oddiy (amaliy bo'lmagan) misollar yordamida rekursiyaning ishlashini namoyish etadi. Rekursiyaning foydaliroq qo'llanilish misollari biroz murakkabroq, ularni keyinroq ko'rib chiqamiz.

Задание 1

Massiv berilgan:

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

Rekursiya yordamida ushbu massiv elementlarini ekranda chiqaring.