PHP တွင် Array_Fileter နှင့် Array_reduce တို့သည် အပြောင်းအလဲများအတွက်ပြင်ဆင်ခြင်းအတွက်အင်အားကြီးမားသောလုပ်ဆောင်မှုများဖြစ်သည်။ ကွဲပြားခြားနားမှုများနှင့်ဤနှစ်ခုလုပ်ဆောင်ချက်နှစ်ခုအကြားရှိအသုံးပြုမှုဖြစ်ရပ်များကိုနားလည်ခြင်းသည်ပိုမိုကောင်းမွန်သောနှင့်ထိရောက်သောကျင့်ထုံးကိုရေးရန်အထောက်အကူပြုလိမ့်မည်။
Array_Filter ကို Array element တွေကို filter လုပ်ဖို့အသုံးပြုသည်။ ဒါဟာ callback function ကိုမှတဆင့် element တစ်ခုစီကိုစစ်ဆေးသည်။ Reward Value ၏ return valuct နှင့်အတူဒြပ်စင်ကိုဆက်လက်ထိန်းသိမ်းထားလိမ့်မည်။ ပြန်လည်ထူထောင်ရေးနှင့်အတူ ဒြပ် စင်ကိုဖယ်ရှားလိမ့်မည်။ ရိုးရိုးလေးပြောရလျှင်၎င်းသည်အခြေအနေများအပေါ် အခြေခံ. လိုအပ်ချက်များနှင့်ကိုက်ညီသော Array element များကို filter လုပ်ရန်ဖြစ်သည်။
<?php
$arr = [1, 2, 3, 4, 5, 6];
// အားလုံးပင်နံပါတ်များကို filter
$result = array_filter($arr, function($value) {
return $value % 2 === 0;
});
print_r($result);
?>
ရလဒ်ရလဒ် -
Array ( [1] => 2 [3] => 4 [5] => 6 )
မှတ်စု: array_filter သည် element ၏သော့အမည်ကိုမပြောင်းလဲပါ။
array_reduce ကို array တစ်ခုတစ်ခုတည်းကိုတန်ဖိုးကိုလျှော့ချရန်အသုံးပြုသည်။ Arrray element တွေကို callback function ကိုတဆင့်တဖြည်းဖြည်းတိုးပွားလာတဲ့တန်ဖိုးကိုတိုးပွားစေပြီးစုဆောင်းခြင်း,
<?php
$arr = [1, 2, 3, 4, 5];
// ခင်းကျင်းမှု၏ဒြပ်စင်အားလုံး၏ပေါင်းလဒ်တွက်ချက်ပါ
$sum = array_reduce($arr, function($carry, $item) {
return $carry + $item;
}, 0);
echo $sum;
?>
ရလဒ်ရလဒ် -
15
$ သယ်ယူပို့ဆောင်ရေးသည် တဖြည်းဖြည်းတိုးပွားလာသောတန်ဖိုးဖြစ်ပြီး, ပြန်ခေါ်သည်၎င်းကို ဆက်. မွမ်းမံပါလိမ့်မည်။ နောက်ဆုံးပြန်လာမှုသည်လျှော့ချရေးရလဒ်ဖြစ်သည်။
အင်္ဂါရပ်များ | array_filter | array_reduce |
---|---|---|
အကျိုး | ခင်းကျင်းမှုကိုစစ်ထုတ်ပြီးစံသတ်မှတ်ချက်များနှင့်ကိုက်ညီသော subset ကိုပြန်ပို့ပါ | "array တစ်ခုတည်းတန်ဖိုးကို" လျှော့ချ " |
Value ကိုပြန်သွားပါ | တစ်ခုခင်းကျင်း | တစ် ဦး စကေးသို့မဟုတ်အရာဝတ်ထု |
အဓိကအသုံးပြုမှု | ခြွင်းချက် filter ကိုဒြပ်စင် | စုစည်းခြင်း, ပေါင်းစည်းခြင်း, စုဆောင်းခြင်း |
သော့ချက်သော့အမည်များ | ချန်လှပ်ထား | အဓိကအမည်များမပါ 0 င်ပါ, တန်ဖိုးများစုဆောင်းခြင်းသည်စိုးရိမ်သည် |
Array မှစံသတ်မှတ်ချက်များနှင့်ကိုက်ညီသောဒြပ်စင်များကိုသင်စစ်ဆေးရန်လိုအပ်သည့်အခါ array_fileter ကို သုံးပါ။ ဥပမာအားဖြင့် - အသက် 18 နှစ်ထက်အသက်ကြီးသောသုံးစွဲသူများအားလုံးကိုစစ်ထုတ်ပါ။
Array တစ်ခုကိုတန်ဖိုးတစ်ခုအဖြစ်ပြောင်းလဲရန်လိုအပ်သည့်အခါ array_reduce ကို သုံးပါ။ ဥပမာ - စုစုပေါင်းရမှတ်, splice ကြိုးများကိုတွက်ချက်ခြင်းနှင့်စာရင်းအင်းအချက်အလက်များကိုထုတ်လုပ်ပါ။
အမိန့်ပမာဏများစွာပါ 0 င်သောအမှာစာခင်းကျင်းရှိသည်ဆိုပါစို့။
<?php
$orders = [120, 250, 90, 300, 60];
// အဆိုပါ filtered ပမာဏထက်သာ။ ကြီးမြတ်သည်100အမိန့်
$filteredOrders = array_filter($orders, function($amount) {
return $amount > 100;
});
// 计算筛选后အမိန့်总金额
$total = array_reduce($filteredOrders, function($carry, $amount) {
return $carry + $amount;
}, 0);
echo "ထက်သာခြင်း100အမိန့်总金额是:" . $total;
?>
အထက်ပါဥပမာအားဖြင့် array_filter သည် အခြေအနေများနှင့်ကိုက်ညီသောအမိန့်များကိုပထမဆုံးစစ်ထုတ်သည် ကို ရှင်းရှင်းလင်းလင်းမြင်တွေ့နိုင်သည်။ နှစ် ဦး စလုံးအတူတကွအသုံးပြုသောအခါ array ဒေတာပြောင်းလွယ်ပြင်လွယ် proxted နိုင်ပါတယ်။
Array_filter သည် စီစစ်ခြင်းဒြပ်စင်များကို စစ်ထုတ်ခြင်း,
array_reduce သည် "compression လုပ်ခြင်း" ကို " ချုံ့ ခြင်း" ကိုအာရုံစိုက်သည်။
သင်၏လိုအပ်ချက်များနှင့်အညီရွေးပါ။