PHP တွင် Parameter ပါသည့် Recursion
Recursion ကို အသုံးပြု၍ array ၏ element များကို အစဉ်လိုက် ထုတ်ပြကြပါစို့။ Array ကို function ၏ parameter အဖြစ် အစမှာပင် ပို့ဆောင်ပါစို့။
<?php
func([1, 2, 3]);
?>
Recursion မသုံးဘဲ၊
array_shift
function ကို အသုံးပြု၍ array element အားလုံးကို အစဉ်လိုက် ထုတ်ပြကြည့်ကြပါစို့။
<?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
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 ၏ ပို၍ အသုံးဝင်သည့် ဥပမာများသည် ပို၍ ရှုပ်ထွေးပါသည်၊ ကျွန်ုပ်တို့ အနည်းငယ်နောက်ပိုင်းတွင် ၎င်းတို့ကို လေ့လာပါမည်။
အောက်ပါ array ကို ပေးထားသည်။
<?php
$arr = ['a' => 1, 'b' => 2, 'c' => 3, 'd' => 4, 'e' => 5];
?>
Recursion ကို အသုံးပြု၍ ဤ array ၏ element များကို စခရင်ပေါ်တွင် ထုတ်ပြပါ။