PHP တွင် array_filter () သည် callback function ကို အခြေခံ. arrays များကို filter လုပ်ရန်အသုံးပြုနိုင်သည့်အလွန်လက်တွေ့ကျသောလုပ်ဆောင်ချက်တစ်ခုဖြစ်သည်။ ပုံမှန်အားဖြင့်၎င်းသည်စံသတ်မှတ်ချက်များနှင့်မကိုက်ညီသောခင်းကျင်းမှုတစ်ခုတွင် element များကိုဖျက်ပစ်ရန်အသုံးပြုသည်။ ယနေ့ PHP တွင် array_filter () တွင် filters များစွာကိုမည်သို့အကောင်အထည်ဖော်ရမည်ကိုယနေ့ကျွန်ုပ်တို့ 0 င်ရောက်မည်ဖြစ်သည်။
ပထမ ဦး စွာ Array_Filter () function ကိုကြည့်ရှုကြပါစို့။ array_filter () parray နှစ်ခုကိုလက်ခံရရှိသည်။ Array နှင့် callback function ကို။ callback function ကို array ရှိ element တစ်ခုစီကိုတရားစီရင်လိမ့်မည်။
<?php
$array = [1, 2, 3, 4, 5];
$result = array_filter($array, function($value) {
return $value > 2;
});
print_r($result);
?>
output ရလဒ် -
Array
(
[2] => 3
[3] => 4
[4] => 5
)
ဤဥပမာတွင် array_filter () callback function ၏တရားစီရင်ရာအခြေအနေများအရ 2 ထက်ကြီးသောဒြပ်စင်များကိုဆက်လက်ထိန်းသိမ်းထားသည်။
အကယ်. သင်သည် (ဥပမာ) ထက်ပိုကြီးသောဒြပ်စင်များကိုစစ်ထုတ်ခြင်းများကဲ့သို့သော filtering အခြေအနေများကိုအကောင်အထည်ဖော်လိုပါကအခြေအနေမျိုးစုံကိုပေါင်းစပ်ရန် callback function တွင်ရှိသော && (နှင့်) ၏ယုတ္တိရှိသောအော်ပရေတာများကိုသုံးနိုင်သည်။
<?php
$array = [1, 2, 3, 4, 5, 6, 7, 8];
$result = array_filter($array, function($value) {
return $value > 2 && $value % 2 === 0;
});
print_r($result);
?>
output ရလဒ် -
Array
(
[3] => 4
[5] => 6
[7] => 8
)
ဤဥပမာတွင် array_filter () သည် 2 ထက်ကြီးမြတ်သည့်ဒြပ်စင်များအားလုံးကိုထုတ်ယူခြင်းနှင့်ပင်ဖြစ်သည်။
အကယ်. သင်၏ filter စံနှုန်းများသည်ရှုပ်ထွေးသောအခါသို့မဟုတ် filter ကိုယုတ္တိဗေဒကိုပြန်လည်အသုံးပြုရန်ဆိုလျှင်, သို့မဟုတ် filter logic ကိုပြန်လည်အသုံးပြုရန်ဆိုပါက filter filter critesia ကို custom function တစ်ခုသို့သင်ခန်းစာယူနိုင်သည်။
<?php
function filterConditions($value) {
return $value > 2 && $value % 2 === 0 && $value < 8;
}
$array = [1, 2, 3, 4, 5, 6, 7, 8];
$result = array_filter($array, 'filterConditions');
print_r($result);
?>
output ရလဒ် -
Array
(
[3] => 4
[5] => 6
)
ဤဥပမာတွင်ကျွန်ုပ်တို့သည် filterConditions () function ကို function များ () filter ကိုယုတ္တိဗေဒကိုထုတ်ယူပြီး array_filter တွင်ခေါ်ဆိုပါ။ ၎င်းသည် code ကိုရှင်းလင်းရုံသာမကယုတ္တိဗေဒပြန်လည်သုံးသပ်မှုကိုလွယ်ကူစေသည်။
တစ်ခါတစ်ရံတွင်ပိုမိုရှုပ်ထွေးသောစစ်ဆင်ရေးများကိုဖြည့်စွက်ရန်အခြားခင်းကျင်းလုပ်ငန်းများကိုပေါင်းစပ်ရန်လိုအပ်သည်။ ဥပမာအားဖြင့်, စံသတ်မှတ်ချက်များစွာကိုဖြည့်ဆည်းပေးပြီး filtered ရလဒ်များကိုပြန်လည်ထည့်သွင်းရန်အတွက် lear များကို filter လုပ်ရန်သင်လိုအပ်သည်ဆိုပါစို့။ array_map () ကို သင်ပထမ ဦး စွာ အသုံးပြု. array_filter () ကို filter လုပ်ရန်။
<?php
$array = [1, 2, 3, 4, 5, 6, 7, 8];
$array = array_map(function($value) {
return $value * 2; // အားလုံး element အားလုံးကိုမြှောက်ပါ 2
}, $array);
$result = array_filter($array, function($value) {
return $value > 5; // ထက်သာ။ ကြီးမြတ်ထွက်စစ်ထုတ်ပါ 5 ဒြပ်
});
print_r($result);
?>
output ရလဒ် -
Array
(
[2] => 6
[4] => 10
[6] => 14
[7] => 16
)
ဒီဥပမာမှာကျွန်တော်တို့ဟာ array_map () ကို array ထဲရှိ Element တွေပြောင်းဖို့ပထမ ဦး ဆုံးသုံးပြီး 5 ထက်ပိုသောဒြပ်စင်များကိုစစ်ထုတ်ရန် array_filter () ကို သုံးပါ။
array_filter () သည် PHP တွင်အလွန်အစွမ်းထက်သောကိရိယာတစ်ခုဖြစ်သည်။ array_filter () ကို အသုံးပြုသောအခါကျွန်ုပ်တို့သည်အခြေအနေများစွာကိုပေါင်းစပ်ပြီးပိုမိုရှုပ်ထွေးသောစစ်ထုတ်ခြင်းလိုအပ်ချက်များကိုရရှိရန်အတွက်အခြေအနေများစွာကိုပေါင်းစပ်။ ထုံးစံအတိုင်းလုပ်ဆောင်ချက်များကိုသုံးနိုင်သည်။ ထို့အပြင် array_filter () ကို အခြားခင်းကျင်းလုပ်ငန်းများနှင့်လည်းအသုံးပြုနိုင်သည်။
သက်ဆိုင်သောတက်(ဂ်)များ:
array_filter