လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> array_filter () ကိုအမည်မသိလုပ်ဆောင်ချက်များနှင့်ပေါင်းစပ်အသုံးပြုသည်

array_filter () ကိုအမည်မသိလုပ်ဆောင်ချက်များနှင့်ပေါင်းစပ်အသုံးပြုသည်

M66 2025-06-05

PHP တွင် array အချက်အလက်များကိုစစ်ထုတ်ခြင်းသည်အထူးသဖြင့်အသုံးပြုသူ input, API အချက်အလက်သို့မဟုတ်ဒေတာဘေ့စ်ရလဒ်များကိုထုတ်ယူသောအခါအထူးသဖြင့်အသုံးများသောလည်ပတ်မှုတစ်ခုဖြစ်သည်။ array_filter () သည် PHP မှပေးသောစွမ်းဆောင်ရည်ကိုပေးသောအင်အားကြီးမားသည့်လုပ်ဆောင်မှုတစ်ခုဖြစ်သည်။ ဤဆောင်းပါးသည်စစ်ထုတ်ခြင်းယုတ္တိဗေဒအမျိုးမျိုးကိုအကောင်အထည်ဖော်ရန်မည်သို့အသုံးပြုရမည်ကိုနားလည်ရန်တစ်ဆင့်အလိုက်သင်တစ်ဆင့်ချင်းသွားပါလိမ့်မည်။

1 ။ array_filter () ?

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 သည်။

2 ။ အမည်မသိလုပ်ငန်းများနှင့်ပိတ်ခြင်းကိုနိဒါန်း

အနီးကပ်ပိတ်ပစ်ဟုလည်းလူသိများသောအမည်မသိလုပ်ဆောင်ချက်များသည် PHP တွင်အမည်မရှိဘဲ function တစ်ခုဖြစ်ပြီးယာယီယုတ္တိဗေဒဆိုင်ရာအပြောင်းအလဲအတွက်အလွန်သင့်လျော်သည်။ Syntax သည်အောက်ပါအတိုင်းဖြစ်သည် -

 $filterFunc = function($value) {
    return $value > 10;
};

ဤအမျိုးအစားကိုများသောအားဖြင့် granular အချက်အလက်ထိန်းချုပ်မှုရရှိရန်အတွက် array_filter () ကို အသုံးပြုသည်။

3 ။ ပေါင်းစပ်အသုံးပြုမှုဥပမာ

ဥပမာ 1: 10 ထက်ပိုသောစစ်ထုတ်သည့်နံပါတ်များ

 $numbers = [4, 15, 9, 23, 5];

$filtered = array_filter($numbers, function($value) {
    return $value > 10;
});

print_r($filtered);

ထုတ်လုပ်မှု -

 Array
(
    [1] => 15
    [3] => 23
)

10 ထက်သာသောကိန်းဂဏန်းများကိုသာသိမ်းဆည်းထားကြောင်းသင်တွေ့နိုင်သည်။

ဥပမာ 2 - အချည်းနှီးသောအကွက်များကို array တစ်ခုတွင် filter လုပ်ပါ။

 $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
)

ဥပမာ 3 - သော့ချက်စာလုံးများတွင်တိကျသောကြိုးများပါရှိသည်

 $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
)

ဥပမာ 4: URL ဒေတာနှင့် filtering

သငျသညျဒေတာအရင်းအမြစ်တစ်ခုမှဒေတာအရင်းအမြစ် ( 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);

4 ။ အကျဉ်းချုပ်

array_filter () ကို အမည်မသိလုပ်ဆောင်ချက်များနှင့်ပေါင်းစပ် အသုံးပြု. အမည်ဝှက်ထားသောလုပ်ဆောင်ချက်များနှင့်ပေါင်းစပ်ထားသော data filtering လိုအပ်ချက်များကိုအလွယ်တကူရရှိနိုင်သည်။ ကိန်းဂဏန်းတန်ဖိုးများ, ကြိုးများသို့မဟုတ်ဘက်စုံရှုထောင့်များကိုစစ်ထုတ်ခြင်းများကိုစစ်ထုတ်ခြင်းရှိမရှိ,

အကြံပြုချက် -

  • အသုံးပြုသူအချက်အလက်များကိုလုပ်ဆောင်သည့်အခါမလိုလားအပ်သောအကြောင်းအရာများကိုရှင်းလင်းရန်စစ်ထုတ်စက်များကိုအသုံးပြုပါ။

  • Code Readability နှင့် Modularity ကိုတတ်နိုင်သမျှတိုးတက်စေရန်အမည်မသိလုပ်ဆောင်ချက်များကိုသုံးပါ။

  • အကယ်. သင်သည်သော့ချက်အမည်ကိုမူရင်းခင်းကျင်းနှင့်ကိုက်ညီမှုရှိလိုပါက၎င်းကို array_filter_use_both ဖြင့်အသုံးပြုနိုင်သည်။