array_reduce လုပ်ဆောင်ချက်
array_reduce လုပ်ဆောင်ချက်သည် callback ကိုအသုံးပြု၍
ခင်းကျင်းမှုတစ်ခုကို တစ်ခုတည်းသော တန်ဖိုးတစ်ခုသို့ ချုံ့ခေါက်ပေးသည် (reduce လုပ်ပေးသည်)။
ပထမပိုင်းသတ်မှတ်ချက်တွင် လုပ်ဆောင်ချက်သည် ခင်းကျင်းမှုတစ်ခုကို လက်ခံပြီး၊ ဒုတိယပိုင်းတွင် - ခင်းကျင်းမှု၏ အစိတ်အပိုင်းတစ်ခုချင်းစီအား အလှည့်ကျ အသုံးပြုမည့် callback ဖြစ်သည်။
တတိယမြောက် မဖြစ်မနေသတ်မှတ်ရန် မလိုအပ်သော ပိုင်းတွင်
ခင်းကျင်းမှုကို ချုံ့ခေါက်ခြင်း စတင်မည့် ကနဦးတန်ဖိုး ပါဝင်မည်။
စံအားဖြင့် ဤပိုင်း၏ တန်ဖိုးသည်
null ဖြစ်သည်။
လုပ်ဆောင်ချက်-callback သည် တန်ဖိုးနှစ်ခုကို သတ်မှတ်ချက်အဖြစ် ရရှိသည်။ ပထမတန်ဖိုးတွင် ယခင်အကြိမ်ကြားဖြတ်မှုမှ ရလဒ်တန်ဖိုးကို ပါဝင်သည်။ ပထမအကြိမ် အကြားဖြတ်မှုတွင်မူ တတိယပိုင်း၏ တန်ဖိုးကို ပါဝင်သည်။
ဒုတိယတန်ဖိုးတွင် callback သည် လက်ရှိ ခင်းကျင်းမှု၏ အစိတ်အပိုင်းကို ပါဝင်သည်။
Callback သည် အလှည့်ကျ ခင်းကျင်းမှု၏ အစိတ်အပိုင်းတစ်ခုချင်းစီအတွက် အသုံးပြုမည်။ လက်ရှိအကြိမ်ကြားဖြတ်မှုတွင် callback မှ ပြန်ပေးသည့်အရာသည် နောက်အကြိမ်ကြားဖြတ်မှုရှိ callback ၏ ပထမသတ်မှတ်ချက်ထဲသို့ ရောက်ရှိသွားမည်။
ထို့ကြောင့်၊ callback သည် အဆင့်ဆင့်
ခင်းကျင်းမှု၏ အစိတ်အပိုင်းတစ်ခုချင်းစီအား အလှည့်ကျ အသုံးပြုပြီး နောက်ဆုံးတွင်
တန်ဖိုးတစ်ခု ရရှိလာမည်။ ဤတန်ဖိုးသည်ပင်
array_reduce လုပ်ဆောင်ချက်၏ ရလဒ် ဖြစ်လာမည်။
ဝါကျဖွဲ့စည်းပုံ
array_reduce(array $array, callable $callback, mixed $initial = null): mixed
နမူနာ
ခင်းကျင်းမှုတစ်ခု၏ အစိတ်အပိုင်းများ ပေါင်းလဒ်ကို ရှာကြည့်ပါစို့။
<?php
$arr = [1, 2, 3, 4, 5];
function func($prev, $elem)
{
return $prev + $elem;
}
$res = array_reduce($arr, 'func', 0);
echo $res;
?>
ကုဒ်အလုပ်လုပ်ဆောင်မှု၏ ရလဒ်။
15
ဤအကြောင်းကိုလည်း ကြည့်ပါ
-
array_mapလုပ်ဆောင်ချက်၊
ခင်းကျင်းမှု၏ အစိတ်အပိုင်းများအတွက် လုပ်ဆောင်ချက်ကို အသုံးပြုပေးသည် -
array_walkလုပ်ဆောင်ချက်၊
ခင်းကျင်းမှု၏ အစိတ်အပိုင်းများအတွက် လုပ်ဆောင်ချက်ကို ခေါ်ယူပေးသည် -
array_filterလုပ်ဆောင်ချက်၊
ခင်းကျင်းမှုတစ်ခုကို စစ်ထုတ်ပေးသည် -
array_walk_recursiveလုပ်ဆောင်ချက်၊
ခင်းကျင်းမှု၏ အစိတ်အပိုင်းများအတွက် လုပ်ဆောင်ချက်ကို ထပ်ကာထပ်ကာ ခေါ်ယူပေးသည်