PHP တွင် array အချက်အလက်များကိုစစ်ထုတ်ခြင်းသည်အထူးသဖြင့်အသုံးပြုသူ input, API အချက်အလက်သို့မဟုတ်ဒေတာဘေ့စ်ရလဒ်များကိုထုတ်ယူသောအခါအထူးသဖြင့်အသုံးများသောလည်ပတ်မှုတစ်ခုဖြစ်သည်။ array_filter () သည် PHP မှပေးသောစွမ်းဆောင်ရည်ကိုပေးသောအင်အားကြီးမားသည့်လုပ်ဆောင်မှုတစ်ခုဖြစ်သည်။ ဤဆောင်းပါးသည်စစ်ထုတ်ခြင်းယုတ္တိဗေဒအမျိုးမျိုးကိုအကောင်အထည်ဖော်ရန်မည်သို့အသုံးပြုရမည်ကိုနားလည်ရန်တစ်ဆင့်အလိုက်သင်တစ်ဆင့်ချင်းသွားပါလိမ့်မည်။
array_filter () သည် array တစ်ခုစီကို callback function ကို (callback) မှတစ်ဆင့်တရားသူကြီးတစ်ခုစီကိုတရားစီရင်ထားသည့် PHP function ဖြစ်သည်။
အခြေခံ syntax သည်အောက်ပါအတိုင်းဖြစ်သည် -
array_filter(array $array, ?callable $callback = null, int $mode = 0): array
$ array : filter သို့ array ။
$ callback : element တစ်ခုစီအတွက်အသုံးပြုသော callback function ကို။ ချန်လှပ်ပါက မှားယွင်းသော တန်ဖိုးရှိသောဒြပ်စင်များကိုပုံမှန်အားဖြင့်ဖယ်ရှားလိမ့်မည်။
$ mode : သော့ချက်အမည်ကို parameter တစ်ခုအဖြစ် parameter သည် parameter အဖြစ်အောင်မြင်မှုရှိမရှိဆုံးဖြတ်ရန် optional parameter သည်။
အနီးကပ်ပိတ်ပစ်ဟုလည်းလူသိများသောအမည်မသိလုပ်ဆောင်ချက်များသည် PHP တွင်အမည်မရှိဘဲ function တစ်ခုဖြစ်ပြီးယာယီယုတ္တိဗေဒဆိုင်ရာအပြောင်းအလဲအတွက်အလွန်သင့်လျော်သည်။ Syntax သည်အောက်ပါအတိုင်းဖြစ်သည် -
$filterFunc = function($value) {
return $value > 10;
};
ဤအမျိုးအစားကိုများသောအားဖြင့် granular အချက်အလက်ထိန်းချုပ်မှုရရှိရန်အတွက် array_filter () ကို အသုံးပြုသည်။
$numbers = [4, 15, 9, 23, 5];
$filtered = array_filter($numbers, function($value) {
return $value > 10;
});
print_r($filtered);
ထုတ်လုပ်မှု -
Array
(
[1] => 15
[3] => 23
)
10 ထက်သာသောကိန်းဂဏန်းများကိုသာသိမ်းဆည်းထားကြောင်းသင်တွေ့နိုင်သည်။
$formData = [
'name' => 'Alice',
'email' => '',
'age' => null,
'city' => 'Beijing'
];
$cleanData = array_filter($formData, function($value) {
return !empty($value);
});
print_r($cleanData);
ထုတ်လုပ်မှု -
Array
(
[name] => Alice
[city] => Beijing
)
$data = [
'user_id' => 101,
'user_name' => 'Bob',
'admin_role' => true,
'timestamp' => 1681920000
];
$filtered = array_filter($data, function($value, $key) {
return str_contains($key, 'user');
}, ARRAY_FILTER_USE_BOTH);
print_r($filtered);
ထုတ်လုပ်မှု -
Array
(
[user_id] => 101
[user_name] => Bob
)
သငျသညျဒေတာအရင်းအမြစ်တစ်ခုမှဒေတာအရင်းအမြစ် ( https://mps ://mps :/api/posts) မှအောက်ပါခင်းကျင်းမှုကိုရရှိသည်ဆိုပါစို့။
$posts = [
['title' => 'Hello World', 'url' => 'https://m66.net/post/1', 'published' => true],
['title' => 'Draft Post', 'url' => 'https://m66.net/post/2', 'published' => false],
['title' => 'PHP Tips', 'url' => 'https://m66.net/post/3', 'published' => true],
];
ပုံနှိပ်ထုတ်ဝေထားသောဆောင်းပါးများကိုသာသိမ်းထားရန် array_filter () ကို သုံးနိုင်သည်။
$publishedPosts = array_filter($posts, function($post) {
return $post['published'] === true;
});
print_r($publishedPosts);
array_filter () ကို အမည်မသိလုပ်ဆောင်ချက်များနှင့်ပေါင်းစပ် အသုံးပြု. အမည်ဝှက်ထားသောလုပ်ဆောင်ချက်များနှင့်ပေါင်းစပ်ထားသော data filtering လိုအပ်ချက်များကိုအလွယ်တကူရရှိနိုင်သည်။ ကိန်းဂဏန်းတန်ဖိုးများ, ကြိုးများသို့မဟုတ်ဘက်စုံရှုထောင့်များကိုစစ်ထုတ်ခြင်းများကိုစစ်ထုတ်ခြင်းရှိမရှိ,
အကြံပြုချက် -
အသုံးပြုသူအချက်အလက်များကိုလုပ်ဆောင်သည့်အခါမလိုလားအပ်သောအကြောင်းအရာများကိုရှင်းလင်းရန်စစ်ထုတ်စက်များကိုအသုံးပြုပါ။
Code Readability နှင့် Modularity ကိုတတ်နိုင်သမျှတိုးတက်စေရန်အမည်မသိလုပ်ဆောင်ချက်များကိုသုံးပါ။
အကယ်. သင်သည်သော့ချက်အမည်ကိုမူရင်းခင်းကျင်းနှင့်ကိုက်ညီမှုရှိလိုပါက၎င်းကို array_filter_use_both ဖြင့်အသုံးပြုနိုင်သည်။