PHP တွင် array_filter () function သည် array element များကို filtering များအတွက်အလွန်အသုံးဝင်သောကိရိယာတစ်ခုဖြစ်သည်။ ၎င်းသည် array အတွင်းရှိ element များကို incoming callback function ကို အခြေခံ. အခြေအနေများနှင့်ကိုက်ညီသောအရာများသာရှိသည်။ အကယ်. callback function ကိုမကုန်သေးပါက array_filter () သည် မှားယွင်းသော တန်ဖိုးနှင့်အတူဒြပ်စင်ကိုဖျက်ပစ်လိမ့်မည်။ Associative Arrays များကိုပြုပြင်သည့်အခါ array_filter () သည် ရှုပ်ထွေးသော data filtering operations များကိုအလွန်အဆင်ပြေစွာလုပ်ဆောင်နိုင်သည်။ Associative Arrays ကိုကိုင်တွယ်ရန် array_filter () ကို မည်သို့အသုံးပြုရမည်ကိုအသေးစိတ်ရှင်းပြပါမည်။
array array_filter ( array $array , callable $callback = ? , int $mode = 0 ) : array
$ array : filtered ခံရဖို့ array တစ်ခု။
$ callback : filtering များအတွက် callback function ကို။ အကယ်. callback function ကိုမကုန်တော့ပါက မှားယွင်းသော တန်ဖိုးရှိသောဒြပ်စင်ကိုပုံမှန်အားဖြင့်ဖျက်ပစ်လိမ့်မည်။
$ mode : callback function ကို၏ parameter သည် array element ၏တန်ဖိုးသို့မဟုတ်သော့ချက်တန်ဖိုးရှိ pair တစုံ၏တန်ဖိုးကိုဆုံးဖြတ်သည်ဖြစ်စေဆုံးဖြတ်သည်။ array_filter_use_key_key (default value), array_filter_use_both (သော့ချက်များနှင့်တန်ဖိုးများကိုဖြတ်သန်းပါ) ။
PHP တွင် Associative Array ၏သော့များသည်များသောအားဖြင့်ကြိုးများသို့မဟုတ်နံပါတ်များဖြစ်ပြီးတွဲတန်ဖိုးများသည်သင်သိမ်းဆည်းလိုသောအချက်အလက်များဖြစ်သည်။ Array_filter () ကို တန်ဖိုးများ, သော့များ, သော့များနှင့်တန်ဖိုးများအပေါ် အခြေခံ. စစ်ထုတ်နိုင်သည်။
ကျွန်ုပ်တို့တွင်အသုံးပြုသူအချက်အလက်အမြောက်အများပါ 0 င်သည့်အပေါင်းအသင်းဆိုင်ရာခင်းကျင်းမှုတစ်ခုရှိသည်ဆိုပါစို့။
<?php
$users = [
"user1" => ["name" => "Alice", "age" => 25],
"user2" => ["name" => "Bob", "age" => 17],
"user3" => ["name" => "Charlie", "age" => 30]
];
$filtered_users = array_filter($users, function($user) {
return $user["age"] >= 18; // အသက်သာကြီးသည်သို့မဟုတ်ညီမျှသည် 18 အသုံးပြုသူများ
});
print_r($filtered_users);
?>
ထုတ်လုပ်မှု -
Array
(
[user1] => Array
(
[name] => Alice
[age] => 25
)
[user3] => Array
(
[name] => Charlie
[age] => 30
)
)
အပေါ်ကဥပမာမှာ array_filter () function ဟာ $ array array ကိုဖြတ်ပြီး 18 ထက်ငယ်တဲ့အသုံးပြုသူတွေကိုစစ်ထုတ်ဖို့ callback function ကိုသုံးတယ်။
အချို့သောသုံးစွဲသူများထံမှသတင်းအချက်အလက်များကိုဖျက်ခြင်းကဲ့သို့သောအချို့သောသော့များကို အခြေခံ. Acciative Array များကိုကျွန်ုပ်တို့စစ်ဆေးလိုသည်ဆိုပါစို့။
<?php
$users = [
"user1" => ["name" => "Alice", "age" => 25],
"user2" => ["name" => "Bob", "age" => 17],
"user3" => ["name" => "Charlie", "age" => 30]
];
$filtered_users = array_filter($users, function($user, $key) {
return $key != "user2"; // အဆိုပါဖယ်ထုတ်သော့ဖြစ်ပါတယ် user2 အသုံးပြုသူများ
}, ARRAY_FILTER_USE_BOTH);
print_r($filtered_users);
?>
ထုတ်လုပ်မှု -
Array
(
[user1] => Array
(
[name] => Alice
[age] => 25
)
[user3] => Array
(
[name] => Charlie
[age] => 30
)
)
ဤဥပမာတွင် array_filter () သည် array_filter_use_usus_uboth mode ကိုအသုံးပြုသည်။ ဤနည်းအားဖြင့်သော့ချက်ပေါ်မူတည်ပြီးဒြပ်စင်ကိုဆက်လက်ထိန်းသိမ်းရန်ဆုံးဖြတ်နိုင်သည်။
ဒေတာများကိုလုပ်ဆောင်သည့်အခါ Null တန်ဖိုး, Null , မှားယွင်းသော , ဤမမှန်ကန်သောအချက်အလက်များကိုသန့်ရှင်းရေးလုပ်ရန် array_filter () ကို သုံးပါ။
ဥပမာအားဖြင့်, array တစ်ခုတွင် မှားယွင်းသော တန်ဖိုးရှိသော element တစ်ခုကိုဖျက်ပါ။
<?php
$array = [0, 1, false, 2, "", null, 3];
$filtered_array = array_filter($array); // အားလုံးပုံမှန်အားဖြင့်ဖျက်ပစ်လိမ့်မည် `false` အဘိုး
print_r($filtered_array);
?>
ထုတ်လုပ်မှု -
Array
(
[1] => 1
[3] => 2
[6] => 3
)
array_filter () သည် Dataset မှအချို့သောစံသတ်မှတ်ချက်များနှင့်ကိုက်ညီသောဒြပ်စင်များကိုစစ်ထုတ်ရန်လိုအပ်သည့်အခါအလွန်အဆင်ပြေသောကိရိယာတစ်ခုဖြစ်သည်။ ဥပမာအားဖြင့်၎င်းသည်အမှာစာအားလုံးကိုတန်ဖိုးတစ်ခုထက်ပိုသောပမာဏနှင့်သို့မဟုတ်အွန်လိုင်းအသုံးပြုသူအားလုံးကိုစစ်ထုတ်ရန်အမိန့်များကိုထုတ်ယူရန်အသုံးပြုနိုင်သည်။
ရှုပ်ထွေးသော data filtering ယုတ္တိဗေဒကို array_filter () မှတဆင့်သန့်ရှင်းသောကုဒ်ဖြင့်အကောင်အထည်ဖော်နိုင်သည်။ foreach loops ကိုအသုံးပြုခြင်းအချက်အလက်များကိုကိုယ်တိုင်စစ်ထုတ်ရန်နှင့်နှိုင်းယှဉ်လျှင် array_filter () သည် code ကိုရှင်းလင်းရန်ပိုမိုလွယ်ကူစေသည်။
ကျွန်ုပ်တို့တွင် URL လိပ်စာများပါ 0 င်သော array တစ်ခုရှိပြီးသတ်မှတ်ထားသောဒိုမိန်းအမည် (ဥပမာ M66.net ) ပါ 0 င်သည့် URL များကို filter လုပ်လိုပါသည်။ ကျွန်ုပ်တို့သည်ဤလုပ်ငန်းကိုပြီးမြောက်ရန် Parse_Url () နှင့်ပူးပေါင်းရန် array_filter () ကို သုံးနိုင်သည်။
<?php
$urls = [
"http://example.com/page1",
"https://m66.net/page2",
"https://m66.net/page3",
"http://anotherdomain.com/page4"
];
$filtered_urls = array_filter($urls, function($url) {
$parsed_url = parse_url($url);
return isset($parsed_url['host']) && $parsed_url['host'] === 'm66.net';
});
print_r($filtered_urls);
?>
ထုတ်လုပ်မှု -