လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> array_filter ကိုအသုံးပြုပြီး warray တစ်ခုတွင် NULL တန်ဖိုးများကိုမည်သို့စစ်ဆေးရမည်နည်း။

array_filter ကိုအသုံးပြုပြီး warray တစ်ခုတွင် NULL တန်ဖိုးများကိုမည်သို့စစ်ဆေးရမည်နည်း။

M66 2025-06-05

PHP Development တွင် array operations များသည်နေ့စဉ်အလုပ်တွင်အသုံးအများဆုံး link ဖြစ်သည်။ ကျွန်ုပ်တို့သည်နေ့တိုင်းနီးပါး "သန့်ရှင်းရေးခင်းကျင်း" ကိုလုပ်နေကြသည်။ အသုံးပြုသူများမှတင်သွင်းသောအချက်အလက်များကိုအသုံးပြုသူများကတင်သွင်းသောအချက်အလက်များသို့မဟုတ် interfaces များဖြင့်ပြန်လာသောအချက်အလက်များကိုသန့်ရှင်းရေးလုပ်ခြင်းဖြစ်စေ,

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

အခြေခံအသုံးပြုမှု - ကုဒ်နံပါတ်တစ်လိုင်း, သန့်ရှင်းပြီးသပ်သပ်ရပ်ရပ်

PHP array_filter () ၏ပုံမှန်အပြုအမူသည် element များကို array တွင် "မှားယွင်းသော" ဟူသောတန်ဖိုးကိုဖယ်ရှားရန်ဖြစ်သည်။

  • string ''

  • နံပါတ် 0 နှင့် string '0' '

  • တရားစွာလဲှ

  • မှားသော

  • အချည်းနှီးသောခင်းကျင်း []

အရိုးရှင်းဆုံးဥပမာကိုကြည့်ရအောင်။

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

$filtered = array_filter($data);

print_r($filtered);

output ရလဒ် -

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

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

စိတ်ကြိုက် filtering ယုတ္တိဗေဒ: ပိုမိုတိကျစွာ filter

အကယ်. သင်သည် '0' 0 မ ဆန်သော 0 ကို 0 င်ရန်မလိုလားပါက callback function ကိုစိတ်ကြိုက်ပြုလုပ်နိုင်သည်။ Array_filter () သည် သင်အမှန်တကယ်ထင်မြင်ယူဆချက်များသာ filter များကသာလျှင် " ဗလာ " ကဲ့သို့သော "ဗလာ " ဖြစ်သည်။

 $data = ['title' => '', 'price' => 0, 'available' => false, 'sku' => '0', 'description' => null];

$filtered = array_filter($data, function($value) {
    return !is_null($value) && $value !== '';
});

print_r($filtered);

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

 Array
(
    [price] => 0
    [available] => 
    [sku] => 0
)

ဤနည်းလမ်းသည်အသုံးပြုသူပုံစံဒေတာသို့မဟုတ် configuration ပစ္စည်းများပြုပြင်ရန်အတွက်အထူးသဖြင့်သင့်လျော်သည်။ အဓိပ္ပါယ်ရှိသော "သုညတန်ဖိုးများ" ကိုမတော်တဆဖျက်ပစ်မည်မဟုတ်ပါ။

လျှောက်လွှာကိစ္စ - ပုံစံဒေတာကိုသန့်ရှင်းပါ

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

 $formData = [
    'name' => 'Zhang San',
    'email' => '',
    'phone' => null,
    'age' => 25
];

$cleanData = array_filter($formData, function($val) {
    return !is_null($val) && $val !== '';
});

$apiUrl = 'https://api.m66.net/user/submit';

$options = [
    'http' => [
        'header'  => "Content-type: application/x-www-form-urlencoded\r\n",
        'method'  => 'POST',
        'content' => http_build_query($cleanData),
    ]
];

$context  = stream_context_create($options);
$result = file_get_contents($apiUrl, false, $context);

echo $result;

ဤနည်းအားဖြင့်ကျွန်ုပ်တို့သည် api ကိုအသုံးမကျသောအကွက်များမ 0 င်သောအခွင့်အလမ်းမရရန်ရှောင်ကြဉ်ရန်ခိုင်လုံသောအချက်အလက်များကိုသာပေးပို့နိုင်သည်။

သိကောင်းစရာများ - တုန့်ပြန်မှုအမျိုးမျိုးကိုအားသွင်းပါ

အကယ်. သင်၏ခင်းကျင်းမှုသည် Multidimensional MultidimenSAls MultidimenSAlal ဖြစ်လျှင်ရှေ့ဆုံးသောအသိုက်ပုံစံဖြစ်သော,

 function recursive_filter(array $input) {
    foreach ($input as $key => &$value) {
        if (is_array($value)) {
            $value = recursive_filter($value);
        }
    }
    return array_filter($input, function($val) {
        return $val !== '' && !is_null($val);
    });
}

$data = [
    'user' => [
        'name' => 'li si',
        'email' => '',
        'tags' => ['', null, 'developer']
    ],
    'status' => null
];

$cleaned = recursive_filter($data);

print_r($cleaned);

ဤနည်းအားဖြင့်သင်၏ခင်းကျင်းပြီးနောက်သင်၏ခင်းကျင်းမှုသည်သန့်ရှင်းလိမ့်မည်။

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

အထက်ပါကိစ္စရပ်မှတစ်ဆင့်ကျွန်ုပ်တို့မြင်နိုင်သည် -

  • array_filter () ၏ပုံမှန်အပြုအမူသည်အလွန်အစွမ်းထက်ပြီးဖြစ်သည်, "မှားယွင်းသောတန်ဖိုးများ" အမျိုးမျိုးကိုဖယ်ရှားခြင်း။

  • Custom Callbacks နှင့်အတူ, သင်စစ်ထုတ်ဝြေငျ့ကိုအတိအကျထိန်းချုပ်နိုင်ပါတယ်။

  • ရှုပ်ထွေးသောအဆောက်အအုံများနှင့်ဆက်ဆံရာတွင်၎င်းကိုရရှိသောနည်းလမ်းများဖြင့်အလွယ်တကူကိုင်တွယ်နိုင်သည်။

  • အမှန်တကယ်ဖွံ့ဖြိုးတိုးတက်မှုတွင်၎င်းကိုပုံစံအချက်အလက်များ, interface commition parameters များနှင့်ဒေတာဘေ့စ်ရေးသားခြင်းမပြုမီဒေတာစီစစ်ခြင်းကိုပင်အသုံးပြုနိုင်သည်။

အတိုချုပ်ပြောရရင်ဒီ function ကိုပိုပြီးကျွမ်းကျင်လေလေ, သင်၏ဒေတာသည်သင်၏ဒေတာဖြစ်လိမ့်မည်။