PHP တွင် Parameter ပါသည့် Recursion

Recursion ကို အသုံးပြု၍ array ၏ element များကို အစဉ်လိုက် ထုတ်ပြကြပါစို့။ Array ကို function ၏ parameter အဖြစ် အစမှာပင် ပို့ဆောင်ပါစို့။

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

Recursion မသုံးဘဲ၊ array_shift function ကို အသုံးပြု၍ array element အားလုံးကို အစဉ်လိုက် ထုတ်ပြကြည့်ကြပါစို့။

php<?php
  function func($arr) {
    var_dump(array_shift($arr)); // 1 ကို ထုတ်ပြမည်
    var_dump($arr); // [2, 3] ကို ထုတ်ပြမည် - array သေးငယ်သွားသည်
    
    var_dump(array_shift($arr)); // 2 ကို ထုတ်ပြမည်
    var_dump($arr); // [3] ကို ထုတ်ပြမည် - array သေးငယ်သွားသည်
    
    var_dump(array_shift($arr)); // 3 ကို ထုတ်ပြမည်
    var_dump($arr); // [] ကို ထုတ်ပြမည် - array ဗလာဖြစ်သွားသည်
  }
  
  func([1, 2, 3]);
?>

မြင်တွေ့ရသည့်အတိုင်း၊ array_shift function သည် array ၏ ပထမဆုံး element ကို ဖြတ်ထုတ်ပြီး ပြန်ပေးသည်၊ ထိုသို့ပြုလုပ်ရာတွင် array ကိုယ်တိုင်လည်း ထို element အတွက် သေးငယ်သွားစေပါသည်။

ယခု recursion ကို အသုံးပြုကြည့်ကြပါစို့။

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

တကယ်တော့၊ array element များကို loop ဖြင့် လှည့်ပတ်ခြင်းသည် အလွယ်ကူဆုံးပင်ဖြစ်သည်။ ဖော်ပြပါ ဥပမာများသည် (လက်တွေ့ဘဝနှင့်မသက်ဆိုင်သော) ရိုးရှင်းသည့် ဥပမာများဖြင့် recursion ၏ အလုပ်လုပ်ပုံကို ရှင်းပြရုံသက်သက်သာဖြစ်သည်။ Recursion ၏ ပို၍ အသုံးဝင်သည့် ဥပမာများသည် ပို၍ ရှုပ်ထွေးပါသည်၊ ကျွန်ုပ်တို့ အနည်းငယ်နောက်ပိုင်းတွင် ၎င်းတို့ကို လေ့လာပါမည်။

Задание 1

အောက်ပါ array ကို ပေးထားသည်။

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

Recursion ကို အသုံးပြု၍ ဤ array ၏ element များကို စခရင်ပေါ်တွင် ထုတ်ပြပါ။