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

array_filter ၏အခြေခံအသုံးပြုမှုအသေးစိတ်ရှင်းပြချက် ()

M66 2025-05-14

PHP ဖွံ့ဖြိုးတိုးတက်မှုတွင် array များသည်အလွန်အသုံးများသောအချက်အလက်တည်ဆောက်ပုံများဖြစ်သည်။ arrays operating arrays များပြုလုပ်သောအခါ Null တန်ဖိုးများကိုဖယ်ရှားခြင်း, အချို့သောအခြေအနေများနှင့်ကိုက်ညီသောဒြပ်စင်များကိုဖယ်ရှားခြင်းစသည်တို့ကို filter လုပ်ရန်လိုအပ်လေ့ရှိသည်

ဤဆောင်းပါးသည် array_filter () ၏အခြေခံအဆောက်အအုံ, ဤလုပ်ဆောင်မှု၏လက်တွေ့ကျတဲ့အသုံးချမှုကိုမြန်မြန်ဆန်ဆန်ကျွမ်းကျင်စွာကျွမ်းကျင်စွာကျွမ်းကျင်မှုကိုအထောက်အကူပြုရန်အခြေခံအကျဆုံးအသုံးပြုမှုကိုအသေးစိတ်ရှင်းပြပါမည်။

1 ။ array_filter () function ကိုမိတ်ဆက်ပေးခြင်း

array_filter () သည် PHP ၏ built-in function များထဲမှတစ်ခုဖြစ်သည်။ ၎င်း၏ရည်ရွယ်ချက်မှာ element တစ်ခုစီကို array ထဲတွင် element တစ်ခုစီကို filter လုပ်ရန် callback function ကိုအသုံးပြုရန်ဖြစ်သည် ၎င်း၏ syntax သည်အောက်ပါအတိုင်းဖြစ်သည် -

 array_filter(array $array, ?callable $callback = null, int $mode = 0): array

parameter သည်ဖော်ပြချက်:

  • $ array : filter သို့မူရင်းခင်းကျင်း။

  • $ callback (optional) - element တစ်ခုထိန်းသိမ်းထားခြင်းရှိမရှိဆုံးဖြတ်ရန်အသုံးပြုသော callback function ကို။ အကယ်. NULL လျှင် default ဖယ်ရှားရေးတန်ဖိုးများသည် မှားယွင်းသော , Null , အချည်းနှီးသော strings '' , နံပါတ် 0, အချည်းနှီးသောခင်းကျင်း [] နှင့်အခြား "မှားယွင်းသောတန်ဖိုးများ"

  • $ mode (PHP 7.4+) - callback function ကိုရောက်သောအကြောင်းအရာသည်တန်ဖိုး, key, key-value pair တစုံဖြစ်သည်။

2 ။ အခြေခံအသုံးပြုမှုဥပမာ

1 ။ Array မှ "မှားယွင်းသောတန်ဖိုးများ" ကိုဖယ်ရှားပါ

၎င်းသည်အသုံးအများဆုံးနည်းလမ်းဖြစ်သည်, ပုံစံဒေတာသို့မဟုတ်ပြင်ဆင်မှုပစ္စည်းများစသည်တို့ကိုသန့်ရှင်းရေးလုပ်ရန်သင့်တော်သည်။

 $data = ["apple", "", null, 0, "banana", false];

$filtered = array_filter($data);

print_r($filtered);

ရလဒ်ရလဒ် -

 Array
(
    [0] => apple
    [4] => banana
)

callback function ကိုမကုန်တော့ပါက array_filter () သည် ပုံမှန်အားဖြင့် "မှားယွင်းသောတန်ဖိုး" ကိုဖယ်ရှားလိမ့်မည်။

2 ။ စစ်ထုတ်ခြင်းဆိုင်ရာယုတ္တိဗေဒကိုစိတ်ကြိုက်ပြုပြင်ရန် callback လုပ်ဆောင်ချက်များကိုသုံးပါ

ဥပမာအားဖြင့်, ကျွန်ုပ်တို့သည်အရှည် 5 ခုထက် သာ. ကြီးမားသောအရှည်ဖြင့်သာထားပါ။

 $words = ["apple", "strawberry", "banana", "kiwi"];

$filtered = array_filter($words, function($word) {
    return strlen($word) > 5;
});

print_r($filtered);

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

 Array
(
    [1] => strawberry
    [2] => banana
)

3 ။ key name ဖြင့် filter (array_filter_use_key_key)

PHP 7.4 မှစတင်ခြင်းသည် filtering content ကိုတတိယ parameter $ mode ဖြင့်ထိန်းချုပ်နိုင်သည်။

 $data = [
    'a' => 100,
    'b' => 200,
    'x' => 300,
];

$filtered = array_filter($data, function($key) {
    return $key === 'x';
}, ARRAY_FILTER_USE_KEY);

print_r($filtered);

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

 Array
(
    [x] => 300
)

3 ။ array_filter () ဘုံ application အခြေအနေများ

1 ။ ပုံစံအချက်အလက်များကိုသန့်ရှင်းပါ

 $_POST = [
    'username' => 'alice',
    'email' => '',
    'age' => null,
];

$clean_data = array_filter($_POST);

၎င်းသည် Null Fields ကိုလျင်မြန်စွာဖယ်ရှားနိုင်ပြီးခိုင်လုံသောအချက်အလက်များကိုသာထိန်းသိမ်းထားနိုင်သည်။

2 ။ အချို့သောစံနှုန်းများနှင့်ကိုက်ညီသောအသုံးပြုသူအချက်အလက်များကို filter

 $users = [
    ['name' => 'Tom', 'active' => true],
    ['name' => 'Jerry', 'active' => false],
    ['name' => 'Spike', 'active' => true],
];

$active_users = array_filter($users, function($user) {
    return $user['active'];
});

print_r($active_users);

3 ။ URL စာရင်းတွင်တရားဝင် link များကို dynamically filter

 $urls = [
    'https://m66.net/home',
    'invalid-url',
    'http://m66.net/contact',
    '',
];

$valid_urls = array_filter($urls, function($url) {
    return filter_var($url, FILTER_VALIDATE_URL);
});

print_r($valid_urls);

4 ။ မှတ်စုများ

  • array_filter ()) ကိုအသုံးပြုပြီးနောက်မူရင်းခင်းကျင်းမှု၏သော့အမည်ကိုပြန်လည်သတ်မှတ်လိမ့်မည်မဟုတ်ပါ (အကယ်. ၎င်းကိုပြန်လည်သတ်မှတ်ရန်လိုအပ်ပါက၎င်းကို array_values ​​( ) ဖြင့်အသုံးပြုနိုင်သည်။

  • အကယ်. သင် STICKENTCAME မှစစ်ထုတ်ရန်လိုအပ်ပါက PHP ဗားရှင်း> = 7.4 နှင့် array_filter_use_key ကို သုံးပါ။

  • Callback function သည် element ကိုထိန်းသိမ်းထားသည်ကိုဆုံးဖြတ်ရန် စစ်မှန်သော သို့မဟုတ် မှားယွင်းသော ပြန်လာသင့်သည်။