ဝက်ဘ်ဖွံ့ဖြိုးတိုးတက်မှုတွင်ပုံစံအချက်အလက်များကိုသန့်ရှင်းရေးပြုလုပ်ခြင်းသည်အချက်အလက်များလုံခြုံရေးနှင့်တိကျမှန်ကန်မှုကိုသေချာစေရန်အရေးကြီးသောခြေလှမ်းတစ်ခုဖြစ်သည်။ PHP ၏ Array_Filter လုပ်ဆောင်မှုသည်ရိုးရှင်းသော element များကို acray တစ်ခုတွင် filter လုပ်ရန်ရိုးရှင်းသောနှင့်ထိရောက်သောနည်းလမ်းဖြင့်ပေးသည်။ Array_filter နှင့် Custom Callback function များကိုပေါင်းစပ်ပြီးအသုံးပြုသူမှတင်ပြသောပုံစံဒေတာများကိုသန့်ရှင်းရေးပြုလုပ်နိုင်ပြီးအချက်အလက်မလုပ်ဆောင်မီ၎င်းကိုအတည်ပြုနိုင်သည်။
Array_Filter function ကို element တွေကိုခင်းကျင်းရေးမှာရေးဆွဲပြီး callback function ကိုစမ်းသပ်ပြီးတဲ့ element အသစ်တစ်ခုကိုပြန်ပို့ပေးတယ်။ အခြေခံ syntax သည်အောက်ပါအတိုင်းဖြစ်သည် -
array_filter(array $array, ?callable $callback = null, int $mode = 0): array
$ array : filter သို့ input array ။
$ callback : array element တွေကို filter လုပ်ဖို့အသုံးပြုတဲ့ callback function ကို။ အကယ်. callback function ကိုမထောက်ပံ့ပါကတန်ဖိုး မှားယွင်းသော တန်ဖိုးနှင့် (ဥပမာ 0 , null , false string "" "စသည်တို့ကို default ဖျက်ပစ်လိမ့်မည်။
$ mode : filtering နည်းလမ်းကိုသတ်မှတ်ပါ။ များသောအားဖြင့်၎င်းကိုသတ်မှတ်ရန်မလိုအပ်ပါ။ ပုံမှန်တန်ဖိုး 0 ကို သာသုံးပါ။
အသုံးပြုသူသည်အသုံးပြုသူအမည်, အီးမေးလ်နှင့်မိုဘိုင်းဖုန်းနံပါတ်များကဲ့သို့သောသတင်းအချက်အလက်များကိုတင်ပြသောအချက်အလက်များရှိသည်ဆိုပါစို့။ ကျွန်ုပ်တို့သည်ဤအချက်အလက်များကိုသန့်ရှင်းရေးလုပ်ရန်နှင့်မလိုအပ်သောနေရာများသို့မဟုတ်တရားမဝင်သောစာလုံးများကိုဖယ်ရှားလိုသည်။
<?php
// အသုံးပြုသူ - တင်သွင်းဒေတာ
$formData = [
'username' => ' john_doe ',
'email' => ' john.doe@m66.net ',
'phone' => ' 123-456-7890 ',
'address' => ' '
];
// ဒေတာလုပ်ဆောင်ချက်များကိုရှင်းလင်းပါ:နေရာများနှင့်တရားမဝင်ဇာတ်ကောင်များကိုဖယ်ရှားပါ
$cleanData = array_map('trim', $formData);
// သန့်စင်ဒေတာ output ကို
print_r($cleanData);
?>
အထက်ပါကုဒ်တွင် array_map ('Trim', $ formdata) သည် trim function မှတဆင့်ပုံစံတန်ဖိုးကိုမတိုင်မီနှင့်ပြီးနောက်နေရာများကိုဖယ်ရှားသည်။ အကယ်. ဒေတာကိုထပ်မံသန့်ရှင်းရေးလုပ်ရန်နှင့်အတည်ပြုလိုပါကလိုအပ်ချက်များနှင့်မကိုက်ညီသောနယ်ပယ်များကိုဖယ်ရှားရန် array_filter ကို သုံးနိုင်သည်။
ပုံစံအချက်အလက်များကိုအတည်ပြုရန်လိုအပ်ချက်များနှင့်ကိုက်ညီမှုရှိစေရန်သေချာစေရန်အရေးကြီးသည့်ခြေလှမ်းတစ်ခုဖြစ်သည်။ ဥပမာအားဖြင့်ကျွန်ုပ်တို့သည် Username တွင်နေရာမရှိကြောင်း, အီးမေးလ်အမျိုးအစားသည်မှန်ကန်ကြောင်း, သို့မဟုတ်ဖုန်းနံပါတ်သည်မှန်ကန်ကြောင်းသေချာစေရန်သေချာစေလိုပေမည်။
<?php
// အသုံးပြုသူ - တင်သွင်းဒေတာ
$formData = [
'username' => ' john_doe ',
'email' => ' john.doe@m66.net ',
'phone' => ' 123-456-7890 ',
'address' => ' '
];
// ဒေတာကိုရှင်းလင်းပါ:ပိုလျှံနေရာများကိုဖယ်ရှားပါ
$cleanData = array_map('trim', $formData);
// ဒေတာကိုစစ်ဆေးပါ:အသုံးပြုarray_filterတရားမဝင်ဒေတာကို filter
$validData = array_filter($cleanData, function($value, $key) {
switch ($key) {
case 'username':
return preg_match('/^\S+$/', $value); // အသုံးပြုသူအမည်တွင်နေရာမရှိကြောင်းသေချာပါစေ
case 'email':
return filter_var($value, FILTER_VALIDATE_EMAIL); // စာတိုက်ပုံးပုံစံကိုစစ်ဆေးပါ
case 'phone':
return preg_match('/^\d{3}-\d{3}-\d{4}$/', $value); // မိုဘိုင်းဖုန်းဖုန်းနံပါတ်ပုံစံကိုစစ်ဆေးပါ
default:
return !empty($value); // အခြားနယ်ပယ်များသည်ဗလာမဖြစ်နိုင်ပါ
}
}, ARRAY_FILTER_USE_BOTH);
// output ကိုတရားဝင်ဒေတာ
print_r($validData);
?>
ဤဥပမာတွင်ကျွန်ုပ်တို့သည် array_fileter ကို Conra_filter ကို Conraphack function နှင့် တွဲဖက်. Connuncack function ကိုစစ်ဆေးရန်အသုံးပြုသည်။ Collback function သည်နယ်ပယ်တစ်ခုစီ၏အကြောင်းအရာသည်သတ်သတ်မှတ်မှတ်စည်းမျဉ်းနှင့်ကိုက်ညီခြင်းရှိမရှိစစ်ဆေးသည်။
Username Field သည်နေရာမရှိကြောင်းသေချာစေသည်။
အီးမေးလ် သည်အီးမေးလ်၏စံချိန်စံညွှန်းများနှင့်ကိုက်ညီကြောင်းသေချာသည်။
ဖုန်းနံပါတ် သည်ဖုန်းနံပါတ်သည်တိကျသောပုံစံနှင့်ကိုက်ညီကြောင်းသေချာသည် (ဥပမာ, 123-456-78990 ) ။
အကယ်. လယ်ကွက် သည် လိုအပ်ချက်များကိုဖြည့်ဆည်းပေးနိုင်ပါက,
အသုံးပြုသူသည်မမှန်ကန်တဲ့အချက်အလက်များကိုတင်ပြသောအခါသင်ချက်ချင်းပေးလိုပါက $ Validthata သည် ဗလာရှိမရှိစစ်ဆေးခြင်းဖြင့်သင်လုပ်နိုင်သည်။
<?php
// ယူဆချက်$validData၎င်းကိုအထက်ပါကုဒ်များမှတစ်ဆင့်ထုတ်ပေးသည်
if (empty($validData)) {
echo "တင်သွင်းထားသောအချက်အလက်အားလုံးသည်မမှန်ကန်ပါ,ကျေးဇူးပြုပြီးသင့်ရဲ့ input ကိုစစ်ဆေးပါ。";
} else {
echo "ဒေတာစိစစ်အတည်ပြုလွန်!";
// တရားဝင်ဒေတာကိုဆက်လက်လုပ်ဆောင်ပါ
}
?>
အကယ်. Array $ Validata သည် ဗလာကျပါကအသုံးပြုသူမှတင်ပြသောအချက်အလက်အားလုံးကိုအတည်ပြုရန်စည်းမျဉ်းများကိုလိုက်နာခြင်းမရှိပါ။ ဤရလဒ်အပေါ် အခြေခံ. အသုံးပြုသူအားသင်တုံ့ပြန်ချက်များပေးနိုင်သည်။