လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> PHP's array_filter function ကိုအသုံးပြုပြီး string non-element အားလုံးကို array တစ်ခုအတွင်းဘယ်လိုစစ်ထုတ်မလဲ။

PHP's array_filter function ကိုအသုံးပြုပြီး string non-element အားလုံးကို array တစ်ခုအတွင်းဘယ်လိုစစ်ထုတ်မလဲ။

M66 2025-07-18

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

array_filter () ?

Array_Filter () သည် PHP တွင်ပါ 0 င်သည့် instray array function များထဲမှတစ်ခုဖြစ်သည်။ ၎င်းသည် array တစ်ခုနှင့် callback function ကိုလက်ခံသည် (optional) ကို လက်ခံခြင်း,

 array_filter(array $array, ?callable $callback = null, int $mode = 0): array
  • $ array : filter သို့ array ။

  • $ callback : Element တစ်ခုချင်းစီကို Array တစ်ခုစီကိုစမ်းသပ်ရန်အသုံးပြုသူသတ်မှတ်ထားသော function ကို။

  • $ mode : callback function ကို၏ parameter သည် key, တန်ဖိုး, နှစ်ခုလုံးပါရှိမရှိကိုဖော်ပြရန်ရွေးချယ်စရာ pareter သည်။

လက်တွေ့ကျသော application: filter မဟုတ်သော element များကို filter လုပ်ပါ

ဒီနေရာမှာဒြပ်စင်မျိုးစုံပါဝင်တဲ့ဥပမာခင်းကျင်းမှုတစ်ခုပါ။

 $data = [
    "apple",
    42,
    "banana",
    true,
    "cherry",
    null,
    3.14,
    ["nested", "array"],
    (object) ["name" => "grape"]
];

ကျွန်ုပ်တို့၏ရည်မှန်းချက်မှာ string မဟုတ်သောတန်ဖိုးများအားလုံးကိုစစ်ထုတ်ရန်နှင့် string element များကိုသာထိန်းသိမ်းရန်ဖြစ်သည်

နည်းလမ်း 1: callback function ကိုအဖြစ် is_string ကို သုံးပါ

 $filtered = array_filter($data, 'is_string');

print_r($filtered);

ရလဒ်ရလဒ် -

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

သတိပြုရန်မှာ array_filter () မူရင်းခင်းကျင်းမှု၏သော့အမည်ကိုဆက်လက်ထိန်းသိမ်းထားသည်။ ရလဒ်ကို reallexed ခင်းကျင်းဖြစ်ချင်ရင်, array_values ကို သုံးနိုင်တယ်။

 $filtered = array_values(array_filter($data, 'is_string'));

Metustain 2: ပိုမိုရှုပ်ထွေးသောဆုံးဖြတ်ချက်များကိုရရှိရန်အမည်မသိလုပ်ဆောင်ချက်များကိုသုံးပါ

အကယ်. သင်သည် Logic ကို 5 ခုထက်ပိုပြီးသာထားရှိခြင်းကဲ့သို့သောယုတ္တိဗေဒကိုတိုးချဲ့လိုပါကဤအရာကိုသင်ရေးနိုင်သည်။

 $filtered = array_filter($data, function($item) {
    return is_string($item) && strlen($item) > 5;
});

print_r($filtered);

အစစ်အမှန်မြင်ကွင်းလျှောက်လွှာ

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

 $userInput = [
    'username' => 'john_doe',
    'age' => 28,
    'email' => 'john@example.com',
    'newsletter' => true,
    'website' => 'https://m66.net/profile/john'
];

$stringsOnly = array_filter($userInput, 'is_string');

print_r($stringsOnly);

ရလဒ်ရလဒ် -

 Array
(
    [username] => john_doe
    [email] => john@example.com
    [website] => https://m66.net/profile/john
)

ဤနည်းအားဖြင့်သင်သည်အီးမေးလ်များပို့ခြင်းသို့မဟုတ်ဒေတာဘေ့စ်မေးမြန်းချက်များကိုတည်ဆောက်ခြင်းကဲ့သို့သောစာသားအမျိုးအစားအချက်အလက်များကိုသာလုပ်ဆောင်နိုင်သည်။

အကျဉ်းချုပ်

array_filter () ကို is_string () ကိုအသုံးပြုခြင်း () နှင့်အတူ is_string () string elements အားလုံးကိုရောထွေးသောခင်းကျင်းမှုမှအလွန်အဆင်ပြေစွာ filter လုပ်ရန်အသုံးပြုနိုင်သည်။ ဤနည်းလမ်းသည်ရိုးရှင်းပြီးအကျိုးရှိရှိဖြစ်သည်။ နေ့စဉ် PHP ဖွံ့ဖြိုးတိုးတက်မှုတွင်ခင်းကျင်းရေးဆိုင်ရာအချက်အလက်များကိုသန့်ရှင်းရေးလုပ်ရန်နှင့်ပြုပြင်ခြင်းအတွက်အလွန်သင့်လျော်သည်။