လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> filter_var_array ဆိုတာဘာလဲ။ ဆောင်းပါးတစ်ပုဒ်တွင်၎င်း၏အခြေခံအသုံးပြုမှုနှင့်လက်တွေ့ကျသော application အခြေအနေများကိုနားလည်ပါ

filter_var_array ဆိုတာဘာလဲ။ ဆောင်းပါးတစ်ပုဒ်တွင်၎င်း၏အခြေခံအသုံးပြုမှုနှင့်လက်တွေ့ကျသော application အခြေအနေများကိုနားလည်ပါ

gitbox 2025-05-31

PHP တွင်ဒေတာစီစစ်ခြင်းနှင့်စိစစ်အတည်ပြုသည်အသုံးပြုသူထည့်သွင်းမှုများကိုပြုပြင်ရန်အတွက်အရေးပါသည်။ ကျွန်ုပ်တို့သည် filter_var () ကို သုံး. ဖိုင်တွဲတစ်ခုစီကိုစစ်ဆေးရန်ကျွန်ုပ်တို့မကြာခဏအသုံးပြုပါက, ပုံစံတစ်ခုစီတင်ထားသောကွက်လပ်များကဲ့သို့သောအချက်အလက်များအစရှိပါကနယ်ပယ်တစ်ခုစီသည်ဤအချိန်တွင်နယ်ပယ် တစ်ခုစီ အတွက်ကွဲပြားခြားနားသောစိစစ်မှုစည်းမျဉ်းများလိုအပ်သည်။

filter_var_array ဆိုတာဘာလဲ။

Filter_var_array () သည် PHP မှပေးသော function တစ်ခုဖြစ်သော fatch function တစ်ခုဖြစ်ပြီးများသောအားဖြင့် ဒေါ်လာ _get သို့မဟုတ် $ _post မှအချက်အလက်များကဲ့သို့သောအပေါင်းလက္ခဏာပြင်ဆင်မှုတစ်ခုဖြစ်သည်။ ဤလုပ်ဆောင်မှုသည်သင်သတ်မှတ်သည့် filter rults နှင့်အညီလယ်ကွင်းတစ်ခုစီကိုသီးခြားစီလုပ်ဆောင်နိုင်သည်။

function ရှေ့ပြေးပုံစံသည်အောက်ပါအတိုင်းဖြစ်သည် -

 filter_var_array(array $data, array|int $definition, bool $add_empty = true): array|false|null
  • $ ဒေတာ : လုပ်ငန်းများ၌ခံရဖို့ Array ဒေတာ။

  • $ အဓိပ္ပာယ် - စည်းမျဉ်းကိုစစ်ထုတ်ခြင်း (နယ်ပယ်အားလုံးအတွက် filters all filter) သို့မဟုတ်ခင်းကျင်းခြင်း (ကွဲပြားခြားနားသောနယ်ပယ်များအတွက်ကွဲပြားခြားနားသော filter များကိုသတ်မှတ်ခြင်း) ။

  • $ add_empty : ရလဒ်အနေဖြင့်ကိုက်ညီသောသော့များကိုထည့်သွင်းခြင်းမရှိ ,

အခြေခံအသုံးပြုမှု

သင့်တွင်စာတိုက်ပုံးနှင့်အသက်အရွယ်နယ်ပယ်များဖြင့်အသုံးပြုသူ login ပုံစံရှိသည်ဆိုပါစို့။ သင်စာတိုက်ပုံး, နိုက်စ်စိစစ်အတည်ပြုခြင်းနှင့်အကွာအဝေးကိုကန့်သတ်ထားသည်။ အောက်ပါအတိုင်း filter_var_array () ကို သုံးပါ။

 $data = [
    'email' => 'test@example.com',
    'age' => '25'
];

$filters = [
    'email' => FILTER_VALIDATE_EMAIL,
    'age' => [
        'filter' => FILTER_VALIDATE_INT,
        'options' => [
            'min_range' => 18,
            'max_range' => 99
        ]
    ]
];

$result = filter_var_array($data, $filters);

print_r($result);

output ကိုဖြစ်လိမ့်မည်:

 Array
(
    [email] => test@example.com
    [age] => 25
)

အတည်ပြုခြင်းမအောင်မြင်ပါကသက်ဆိုင်ရာတန်ဖိုးသည် မှားယွင်း လာလိမ့်မည်။

လက်တွေ့ကျသော application အခြေအနေများ

1 ။ ဖွဲ့စည်းရန်ပုံစံ

Filter_var_array () သည်ပုံစံဒေတာများကိုပြုပြင်ရန်အတွက်အထူးသဖြင့်သင့်တော်သည်,

 $_POST = [
    'username' => 'jack',
    'email' => 'jack@gitbox.net',
    'age' => '17'
];

$rules = [
    'username' => [
        'filter' => FILTER_SANITIZE_STRING,
        'flags' => FILTER_FLAG_NO_ENCODE_QUOTES
    ],
    'email' => FILTER_VALIDATE_EMAIL,
    'age' => [
        'filter' => FILTER_VALIDATE_INT,
        'options' => ['min_range' => 18]
    ]
];

$cleanData = filter_var_array($_POST, $rules);

print_r($cleanData);

ဤဥပမာတွင်အသက် 18 နှစ်အောက်ဖြစ်ပါကပြန်လည်ရှင်သန်လာသည့် အသက်အရွယ်သည် မှားယွင်း လာပြီးအတည်ပြုခြင်းမအောင်မြင်ပါ။

2 ။ ပုံမှန်တန်ဖိုးများနှင့်အတူသုံးပါ

filter_default နှင့် custom options များမှ default value ကိုသတ်မှတ်နိုင်သည်။

 $data = [
    'email' => 'wrong-format',
    // 'age' => missing
];

$rules = [
    'email' => FILTER_VALIDATE_EMAIL,
    'age' => [
        'filter' => FILTER_VALIDATE_INT,
        'options' => ['default' => 18]
    ]
];

$result = filter_var_array($data, $rules);

print_r($result);

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

 Array
(
    [email] => false
    [age] => 18
)

3 ။ API တောင်းဆိုမှုများနှင့်အတူသုံးပါ

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

 $json = file_get_contents('https://api.gitbox.net/user/input');
$input = json_decode($json, true);

$filters = [
    'email' => FILTER_VALIDATE_EMAIL,
    'subscription' => FILTER_VALIDATE_BOOLEAN
];

$validated = filter_var_array($input, $filters);

မှတ်သားရန်အရာ

  • အကယ်. 0 င်ရောက်လာသော $ ဒေတာများသည် ခင်းကျင်းမှုတစ်ခုမဟုတ်ပါက Filter_var_array () သည် မှားယွင်းသော ပြန်လာလိမ့်မည်။

  • အကယ်. သော့အချို့သည် ဒေါ်လာအဓိပ္ပာယ် ဖွင့်ဆိုသော်လည်း $ add_empty သည် မှန်ကန်စွာ သတ်မှတ်ထားပါက၎င်းတို့သည်မှန်ကန်စွာပြန်လည်ရရှိထားသည့်အတိုင်း တရားမ 0 င်သော ရလဒ်များဖြင့်ပေါ်လာလိမ့်မည်။

  • ဒေတာများကိုအတည်ပြုခြင်းထက်အချက်အလက်များကိုသန့်ရှင်းရေးလုပ်နေသော type_sanitize_ * * ၏ type_sanitize_ * * ကိုအသုံးပြုရန်ဂရုပြုရန်လိုအပ်သည်။

အကျဉ်းချုပ်

filter_var_array () သည်အချက်အလက်အစုတခုကိုဖြည့်ဆည်းပေးပြီးသန့်ရှင်းရေးလုပ်ခြင်း, Code ကိုပိုမိုအကောက်အားထိန်းသိမ်းရန်ကူညီနိုင်သည့်အလွန်အစွမ်းထက်သောကိရိယာတစ်ခုဖြစ်သည်။ ၎င်းသည်ပုံစံအချက်အလက်များ, API တောင်းဆိုမှုများ,

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