Daily Php Development တွင် Array များသည်အလွန်များသောအလုပ်ဖြစ်သည်။ မမှန်ကန်သောအချက်အလက်များကိုသန့်ရှင်းရေးလုပ်ခြင်း , သီးခြားဒြပ်စင် များကို ဖယ်ရှားခြင်း, သူတို့ကိုတစ် ဦး တည်းအသုံးပြုခြင်းသည်အစွမ်းထက်ပြီးသားဖြစ်သော်လည်း၎င်းတို့ပေါင်းစပ်ထားသည့်အခါပိုမိုရှုပ်ထွေးပြီးပြောင်းလွယ်ပြင်လွယ်ခင်းကျင်းဆင်ခြင်းများကိုကျွန်ုပ်တို့အကောင်အထည်ဖော်နိုင်သည်။
ရှုပ်ထွေးသော Array filtering Logic ကိုအကောင်အထည်ဖော်ရန် Array_diff () နှင့် array_filter () array_filter () () array_filter () () array_filter () ကိုရှင်းပြရန်ဥပမာတစ်ခုကိုဤဆောင်းပါးသည်ဥပမာတစ်ခုကိုအသုံးပြုပါမည်။
array_filter () ကို များသောအားဖြင့် callback function ကို အခြေခံ. စံသတ်မှတ်ချက်များနှင့်မကိုက်ညီသောခင်းကျင်းမှုတွင်တန်ဖိုးများကိုစစ်ထုတ်ရန်အသုံးပြုသည်။
$numbers = [1, 2, 3, 4, 5];
$even = array_filter($numbers, function($n) {
return $n % 2 === 0;
});
// $even = [1 => 2, 3 => 4]
array_diff () ကိုအခြား arrays မရှိတဲ့ခင်းကျင်းမှုတစ်ခုမှာတန်ဖိုးအားလုံးကိုပြန်ပို့ပေးဖို့အသုံးပြုသည်။
$all = ['apple', 'banana', 'cherry'];
$remove = ['banana'];
$result = array_diff($all, $remove);
// $result = [0 => 'apple', 2 => 'cherry']
သင်ဖယ်ထုတ်လိုသည့်တန်ဖိုးများပါ 0 င်သောအသုံးပြုသူထည့်သွင်းမှုများပါ 0 င်သည့်အချက်အလက်များစွာပါ 0 င်သောအချက်အလက်များရှိသည်ဆိုပါစို့။ သင်မျှော်လင့်ပါတယ်
မမှန်ကန်တဲ့ (သို့) မှားယွင်းစွာပုံစံချထားတဲ့ပစ္စည်းတွေကိုစစ်ထုတ်ဖို့ Array_Filter () ကို သုံးပါ။
ထို့နောက် array_diff () ကိုသုံးပါ။
နောက်ဆုံးအနေနဲ့နောက်ထပ်အပြောင်းအလဲနဲ့အတွက်အသုံးပြုနိုင်တဲ့သန့်ရှင်းတဲ့ခင်းကျင်း။
ကျွန်ုပ်တို့လိုအပ်နေသောအသုံးပြုသူတင်သွင်းသော URLs အသုတ်များကိုစုဆောင်းသည်ဆိုပါစို့။
null တန်ဖိုးများသို့မဟုတ်မှားယွင်းသောပုံစံများကိုဖယ်ရှားပါ။
နာမည်ပျက်စာရင်းမှဒိုမိန်းအမည်များကိုဖယ်ထုတ်လိုက်သည်။
$userUrls = [
'https://m66.net/article/123',
'http://example.com/test',
'',
'not_a_url',
'https://m66.net/login',
'https://blacklist.com/malicious',
];
$blacklistedDomains = ['blacklist.com'];
// ပထမခြေလှမ်း:အသုံးပြု array_filter() မမှန်ကန်သောရှင်းလင်းရေး URL
$validUrls = array_filter($userUrls, function($url) {
return filter_var($url, FILTER_VALIDATE_URL);
});
// အဆင့် 2:ထုတ်ယူခြင်းသည်တရားဝင်ဖြစ်သည် URL ဒိုမိန်းအမည်,နှင့်အနက်ရောင် domain name ကိုထုတ် filter
$filteredUrls = array_filter($validUrls, function($url) use ($blacklistedDomains) {
$host = parse_url($url, PHP_URL_HOST);
return !in_array($host, $blacklistedDomains);
});
// $filteredUrls ယခုတရားဝင်နှင့်နာမည်ပျက်စာရင်းဝင်မဟုတ်ပါဘူး URL
print_r($filteredUrls);
Array
(
[0] => https://m66.net/article/123
[1] => http://example.com/test
[4] => https://m66.net/login
)
ဤနေရာတွင်ကျွန်ုပ်တို့အားနှစ်ကြိမ် array_filter () ကို အမှန်တကယ်အသုံးပြုခဲ့ကြောင်းသတိပြုပါ။ Domain Name List များအကြားကွဲပြားခြားနားမှုများကိုကိုင်တွယ်ဖြေရှင်းရန်အတွက် Array_diff () ကို မိတ်ဆက်ပေးနိုင်သည်။
URL မှဒိုမိန်းအမည်အားလုံးကိုပထမ ဦး ဆုံးထုတ်ယူနိုင်ပြီး Blacktist Domain Names မှဖယ်ထုတ်ရန် array_diff () ကို သုံးနိုင်သည်။
$domains = array_map(function($url) {
return parse_url($url, PHP_URL_HOST);
}, $validUrls);
$allowedDomains = array_diff($domains, $blacklistedDomains);
// နောက်တဖန် filter URL,သာပိုင်ဆိုင်မှုများကိုသာထိန်းသိမ်းထားသည် allowedDomains ၏
$finalUrls = array_filter($validUrls, function($url) use ($allowedDomains) {
$host = parse_url($url, PHP_URL_HOST);
return in_array($host, $allowedDomains);
});
print_r($finalUrls);
array_filter () နှင့် array_diff ကို ပေါင်းစပ်ခြင်းအားဖြင့်ကျွန်ုပ်တို့သည်ရှုပ်ထွေးသောခင်းကျင်းရန်ပုံငွေအဖွဲ့စီစစ်ခြင်းယုတ္တိဗေဒကိုအလွန်စိတ်လှုပ်ရှားစရာကောင်းလောက်အောင်ကိုင်တွယ်နိုင်သည်။ အမှန်တကယ်ဖွံ့ဖြိုးတိုးတက်မှုတွင် -
array_filter () array elements များကိုအခြေအနေအလိုက်စစ်ဆေးရန်ပိုမိုသင့်တော်သည်။
array_diff () သည် မသိတဲ့မမှန်ကန်သောပစ္စည်းများသို့မဟုတ်လူမည်းစာရင်းများကိုဖယ်ထုတ်ရန်ပိုမိုသင့်တော်သည်။
နှစ်ခုကိုပေါင်းစပ်ခြင်းက element content ကိုစစ်ဆေးရုံသာမက Suns filtering ကိုလည်းသဘောပေါက်သည်။
ပြောင်းလွယ်ပြင်လွယ်ရှိသော Master သည်ဤလုပ်ဆောင်မှုများကိုပေါင်းစပ်ခြင်းအားဖြင့် PHP ရှိသင်၏ဒေတာခင်းကျင်းမှု၏ထိရောက်မှုနှင့်ကုဒ်ဖတ်နိုင်မှုကိုသိသိသာသာတိုးတက်စေလိမ့်မည်။
သက်ဆိုင်သောတက်(ဂ်)များ:
array_filter