PHP တွင် array_filter () function သည် callback function ကို အခြေခံ. array တစ်ခုတွင် element များကို filter လုပ်နိုင်သောအလွန်အသုံးဝင်သောကိရိယာတစ်ခုဖြစ်သည်။ ဖွံ့ဖြိုးတိုးတက်မှုတွင်ကျွန်ုပ်တို့သည်အထူးသဖြင့်အရေးယူရန်မလိုအပ်သောသို့မဟုတ်လိုက်လျောညီထွေမရှိသော element များရှိသည့်အခါအထူးသဖြင့်အရေးပါသော arrays များကိုစစ်ထုတ်ရန်လိုအပ်သည်။ array_filter () သည်ထိရောက်သောနှင့်ပြောင်းလွယ်ပြင်လွယ် function တစ်ခုဖြစ်သည်။ ဤဆောင်းပါးသည်စစ်ထုတ်ဝြေခင်းများကိုမည်သို့လုပ်ဆောင်ရမည်ကိုမိတ်ဆက်ပေးပြီး array_filter () function ကိုရရှိခြင်းနှင့်ရလဒ်များကိုပိုမိုကောင်းမွန်စေရန်မိတ်ဆက်ပေးလိမ့်မည်။
ပထမ ဦး စွာ Array_Filter () function ကို အခြေခံ. အခြေခံ. သုံးသပ်ကြည့်ကြစို့။ သတ်မှတ်ထားသောအခြေအနေများအပေါ် အခြေခံ. array တစ်ခုစီကိုစစ်ဆေးသည့် array နှင့် callback function ကိုလက်ခံသည်။ စစ်မှန်သော ပြန်လာသော element ကိုဆက်လက်ထိန်းသိမ်းထားလိမ့်မည် ။
$array = [1, 2, 3, 4, 5, 6];
$filteredArray = array_filter($array, function($value) {
return $value % 2 === 0; // နံပါတ်များကိုပင် filter
});
print_r($filteredArray);
ရလဒ်ရလဒ် -
Array
(
[1] => 2
[3] => 4
[5] => 6
)
ဤဥပမာတွင်ကျွန်ုပ်တို့သည် Array ရှိနံပါတ်များကိုပင် filter လုပ်ရန် array_filter () ကို အသုံးပြုသည်။ ထို့နောက်ကျွန်ုပ်တို့သည်ရှုပ်ထွေးသောတပ်ဆင်မှုများကိုကိုင်တွယ်ရာတွင်ကိုင်တွယ်ရာတွင်စွမ်းဆောင်ရည်တိုးတက်စေရန်ဤလုပ်ဆောင်မှုကိုမည်သို့တိုးတက်စေရန်မည်သို့တိုးတက်အောင်လုပ်ရမည်ကိုရှင်းပြပါမည်။
array_filter () ကို သုံးသောအခါ, သင်သည် Array တွင်ကိုက်ညီသော element အမျိုးအစားများကိုသင်ကြုံတွေ့ရနိုင်သည်။ သို့မဟုတ်ခင်းကျင်း၏အဓိကအကြောင်းများပျောက်ဆုံးနေနိုင်သည်။ သင်၏ပန်းတိုင် သည် စစ်ထုတ်ထားသောခင်းကျင်းနှစ်ခုကိုနှိုင်းယှဉ်ရန်နှင့်ကွဲပြားခြားနားမှုများကိုနှိုင်းယှဉ်ရန် နှင့် ကွဲပြားခြားနားမှုများကိုနားလည်ရန်,
$array1 = [1, 2, 3, 4, 5];
$array2 = [2, 3, 6, 7];
// filter arrays
$filteredArray1 = array_filter($array1, function($value) {
return $value % 2 === 0; // နံပါတ်များကိုပင် filter
});
$filteredArray2 = array_filter($array2, function($value) {
return $value % 2 === 0; // နံပါတ်များကိုပင် filter
});
// ကွဲပြားခြားနားမှုနှိုင်းယှဉ်
$diff = array_diff($filteredArray1, $filteredArray2);
print_r($diff);
ရလဒ်ရလဒ် -
Array
(
[0] => 4
)
ဒီဥပမာမှာ array ထဲမှာကိန်းဂဏန်းတွေကိုတောင်ရိုက်ကူးပြီး filteredarray2 မှာရှိတဲ့ Esterarray2 မှာရှိတဲ့ Elendedarray2 မှာရှိတဲ့ earray_diff () ကို သုံးတယ်။
array_filter () သည်အလွန်ပြောင်းလွယ်ပြင်လွယ် function တစ်ခုဖြစ်သည်။ အချို့သောကိစ္စရပ်များတွင်အထူးသဖြင့် Array ကြီးမားသောနှင့်ဆက်ဆံရာတွင်၎င်းသည်စွမ်းဆောင်ရည်ပြ issues နာများကိုဖြစ်ပေါ်စေနိုင်သည်။ စွမ်းဆောင်ရည်ကိုပိုမိုကောင်းမွန်စေရန်အောက်ပါနည်းလမ်းများကိုသင်ကြိုးစားနိုင်သည်။
filtering, အချက်အလက်များကိုကြိုတင်မသုံးမီနှင့်မလိုအပ်သောစစ်ဆင်ရေးများကိုဖယ်ရှားပါ။ ဥပမာအားဖြင့်, array တစ်ခုရှိအချို့သောဒြပ်စင်အချို့ကို filtered လိမ့်မည်ကိုသင်သိပါကဤအရာများကိုကြိုတင်ပြင်ဆင်မှုများမှဖျက်ခြင်းသည်မလိုအပ်သောစစ်ဆင်ရေးများကိုကယ်တင်နိုင်သည်။
array_filter () တွင် callback function ကိုကဟုခေါ်သောအခါတိုင်းကွပ်မျက်ခံရတိုင်းကွပ်မျက်ခံရချိန်တွင် callback function ၏ရှုပ်ထွေးမှုသည်စွမ်းဆောင်ရည်ကိုအကျိုးသက်ရောက်လိမ့်မည်။ callback function တွင်တွက်ချက်မှုဆိုင်ရာတွက်ချက်မှုပမာဏများစွာကိုရှောင်ရှားခြင်းကဲ့သို့သော callback function အတွင်းရှိဆင်ခြင်တုံတရားဆိုင်ရာလုပ်ဆောင်မှုအတွင်းရှိဆင်ခြင်တုံတရားကို minimize လုပ်ပါ။
အကယ်. သင်ပထမ ဦး ဆုံး array ကို ဦး စွာမြေပုံဆွဲရန်လိုအပ်ပါက (ဥပမာအချို့ကို array တစ်ခုသို့ပြောင်းလဲခြင်းကဲ့သို့သော) filtering ၏ရှုပ်ထွေးမှုကိုလျှော့ချရန် array_filter () ကိုသုံးနိုင်သည်။
$array = [1, 2, 3, 4, 5, 6];
// အသုံးပြု array_map() preprocessing လုပ်ဆောင်ပါ
$mappedArray = array_map(function($value) {
return $value * 2; // အားဖြင့်တန်ဖိုးတစ်ခုချင်းစီကိုမြှောက်ပါ2
}, $array);
// အသုံးပြု array_filter() filtering လုပ်ဆောင်ပါ
$filteredArray = array_filter($mappedArray, function($value) {
return $value > 5; // filter ထက်သာ။ ကြီးမြတ်သည်5၏တန်ဖိုး
});
print_r($filteredArray);
ရလဒ်ရလဒ် -
Array
(
[2] => 6
[3] => 8
[4] => 10
)
ဤနည်းလမ်းသည် array_map () နှင့်အတူခင်းကျင်း () နှင့်အတူ array_map () နှင့်အတူ array_map () ကို ကူးပြောင်းခြင်းဖြင့်မလိုအပ်သောအပြောင်းအလဲနဲ့လျှော့ချသည်။
အချို့သောဖွံ့ဖြိုးမှုဖြစ်စဉ်များတွင် URL ရှိဒိုမိန်းအမည်ကိုအစားထိုးရန်လိုအပ်သည့်အခြေအနေများကြုံတွေ့ရနိုင်သည်။ အကယ်. သင် Array ရှိ URLs ပါ 0 င်သော element များကိုထုတ်ယူပါကဒိုမိန်းအမည်ကိုတူညီစွာပြုပြင်ရန်လိုအပ်သည်ဆိုပါက domain name ကိုတူညီစွာပြုပြင်ရန်လိုအပ်သည် ။
$urls = [
'http://example.com/page1',
'https://example.com/page2',
'http://example.com/page3'
];
// အဖြစ်ဒိုမိန်းအမည်ကိုအစားထိုးလိုက်ပါ m66.net
$updatedUrls = array_map(function($url) {
return preg_replace('/https?:\/\/[^\/]+/', 'https://m66.net', $url);
}, $urls);
print_r($updatedUrls);
ရလဒ်ရလဒ် -
Array
(
[0] => https://m66.net/page1
[1] => https://m66.net/page2
[2] => https://m66.net/page3
)
ဤဥပမာတွင် URL ၏ဒိုမိန်းအပိုင်းကို Preg_replace () ဖြင့်အစားထိုးပြီး M66.NET နှင့်အစားထိုး သည်
array_filter () function သည် PHP တွင်အလွန်အစွမ်းထက်သည်။ filters_diff () နှင့် array_diff_assoc () array_diff_assoc () ကိုပေါင်းစပ်ခြင်းများကိုပေါင်းစပ်လိုက်သောအခါ array_diff_diff_assoc () ကိုအလွယ်တကူနှိုင်းယှဉ်နိုင်သည်။ တစ်ချိန်တည်းမှာပင်စွမ်းဆောင်ရည်ကိုပိုမိုကောင်းမွန်စေရန်အတွက် callback function ၏ရှုပ်ထွေးမှုကိုလျှော့ချရန်နှင့် array_map () ကဲ့သို့သောလုပ်ဆောင်မှုများကိုအသုံးပြုခြင်းကိုသင်စဉ်းစားနိုင်သည်။ URL များပါ 0 င်သည့် arrays များပါ 0 င်သည့်အတွက် ဒိုမိန်းအမည် () သို့မဟုတ် preg_replace () unifies URLs ၏စည်းလုံးညီညွတ်မှုကိုလွယ်ကူချောမွေ့စေရန်အတွက်ကျွန်ုပ်တို့သည် domain name () ကိုလျင်မြန်စွာအစားထိုးနိုင်သည်။