လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> Multidimensional Array များထုတ်လုပ်ရန် filter_var_array နည်းလမ်း

Multidimensional Array များထုတ်လုပ်ရန် filter_var_array နည်းလမ်း

gitbox 2025-05-29

PHP တွင် filter_var_array သည် အချက်အလက်များကို array တစ်ခုတွင်စီစစ်ခြင်းနှင့်အတည်ပြုခြင်းအတွက်အလွန်လက်တွေ့ကျသည့်လုပ်ဆောင်ချက်တစ်ခုဖြစ်သည်။ developer အတော်များများကမေးခွန်းတစ်ခုကိုကြုံတွေ့ရလိမ့်မည် ဤဆောင်းပါးသည်ဤမေးခွန်းကိုအသေးစိတ်ဖြေ ဆို. ၎င်း၏အသုံးပြုမှုနှင့်ကြိုတင်ကာကွယ်မှုများမိတ်ဆက်ပေးလိမ့်မည်။


1 ။ Super_var_array ကိုမိတ်ဆက်ပါ

filter_var_array function ကို array တစ်ခုစီ၏ဒြပ်စင်တစ်ခုစီအတွက်သတ်မှတ်ထားသော filter များကို အသုံးပြု. အသုံးပြုသူထည့်သွင်းမှုအချက်အလက်များကို အသုံးပြု. အသုံးပြုသူ input data ကို အသုံးပြု. $ _GET, $ _post, အခြေခံအသုံးပြုမှုမှာအောက်ပါအတိုင်းဖြစ်သည် -

 <?php
$data = [
    'email' => '[email protected]',
    'age' => '25',
];

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

$result = filter_var_array($data, $filters);
var_dump($result);
?>

အထက်ဖော်ပြပါကုဒ်သည်စာတိုက်ပုံးသည်သက်တမ်းသည်သက်တမ်းသည် 18 နှင့် 65 အကြားရှိမဟုတ်သည်ကိုစစ်ဆေးပါလိမ့်မည်။


2 ။ filter_var_array ကို multi- ရှုထောင်ခင်းကျင်းမှုကိုကိုင်တွယ်နိုင်ပါသလား။

ပုံမှန်အားဖြင့် Filter_Var_array သည် ရှုထောင့်တစ်ခုမျှသာဖြစ်စဉ်များကိုသာပြုလုပ်သည်, ဆိုလိုသည်မှာ၎င်းသည် array ၏ပထမ ဦး ဆုံးအလွှာကိုသာဖွင့်ပြီးသော့ချက်တန်ဖိုးအတွဲတစ်ခုစီအတွက်စီစစ်ခြင်းဆိုင်ရာစည်းမျဉ်းများကိုသာအသုံးပြုလိမ့်မည်။ MultidDadational inarays များအတွက်၎င်းသည်အတွင်းပိုင်းအလွှာခင်းပွါးများကိုပြန်လည်ပြုပြင်မွမ်းမံခြင်းမပြုပါ။

ဥပမာအားဖြင့်:

 <?php
$data = [
    'user' => [
        'email' => '[email protected]',
        'age' => '25',
    ],
    'status' => 'active'
];

$filters = [
    'user' => FILTER_DEFAULT,  // ဒီမှာမှန်ပါတယ်"user"တစ်ခုခင်းကျင်းနှင့်သက်ဆိုင်သည်,ပုံမှန်အားဖြင့်, ပြည်တွင်းရေးဒြပ်စင်များကိုစစ်ထုတ်ခြင်းမရှိပါ
    'status' => FILTER_SANITIZE_STRING,
];

$result = filter_var_array($data, $filters);
var_dump($result);
?>

ရလဒ်အနေနှင့် အသုံးပြုသူ နှင့်သက်ဆိုင်သော array ကိုပြန်ယူလိမ့်မည်။


3 ။ ရှုထောင့်အမျိုးမျိုးနှင့်မည်သို့ဆက်ဆံရမည်နည်း။

အကယ်. သင်သည် Multidimensional Arrays များကို filter လုပ်ရန်လိုအပ်ပါက Filter_var_array ကိုယ်တိုင်က recursive operations များကိုတိုက်ရိုက်မထောက်ပံ့နိုင်ပါ။ ဘုံအလေ့အကျင့်တစ်ခုမှာ recursive function ကိုရေးရန်ဖြစ်သည်, တုန့်ချိရေးဆိုင်ရာခင်းကျင်းမှုတစ်ခုစီမှတစ်ဆင့် filter_var_arrray တစ်ခုစီသို့ခေါ်ဆိုခြင်းသို့မဟုတ် filter_var ကို သုံးပါ။

နမူနာကုဒ်:

 <?php
function recursive_filter_var_array(array $data, array $filters) {
    $result = [];
    foreach ($filters as $key => $filter) {
        if (is_array($filter) && isset($data[$key]) && is_array($data[$key])) {
            // Multidimensive Inarray ကိုပြန်လည်ပြုပြင်ခြင်းလုပ်ငန်းစဉ်
            $result[$key] = recursive_filter_var_array($data[$key], $filter);
        } elseif (isset($data[$key])) {
            // တစ် ဦး ချင်းစီဒြပ်စင် filter
            if (is_array($filter)) {
                $result[$key] = filter_var($data[$key], $filter['filter'], $filter['options'] ?? []);
            } else {
                $result[$key] = filter_var($data[$key], $filter);
            }
        }
    }
    return $result;
}

// နမူနာဒေတာနှင့်စစ်စည်းမျဉ်းများ
$data = [
    'user' => [
        'email' => '[email protected]',
        'age' => '30',
    ],
    'status' => 'active<script>',
];

$filters = [
    'user' => [
        'email' => FILTER_VALIDATE_EMAIL,
        'age' => [
            'filter' => FILTER_VALIDATE_INT,
            'options' => ['min_range' => 18, 'max_range' => 65],
        ],
    ],
    'status' => FILTER_SANITIZE_STRING,
];

$result = recursive_filter_var_array($data, $filters);
var_dump($result);
?>

ဤ recursive function ကိုမှတစ်ဆင့်သင်တုန့်ချိရာပေါင်းစုံ arrays နှင့် data data filter များကို filter ရိန်းသီးကိုပြောင်းလွယ်ပြင်လွယ်နိုင်သည်။


4 ။ Filter_var_array ကိုသုံးသောအခါမှတ်သားရမည့်အရာများ

  1. စစ်စည်းမျဉ်းစည်းကမ်းများနှင့် array ဖွဲ့စည်းပုံနှင့်ကိုက်ညီရမည် filtering rule array ၏ဖွဲ့စည်းပုံသည် filtered ခင်းကျင်းမှု၏ဖွဲ့စည်းပုံနှင့်ကိုက်ညီရမည်။

  2. filter_var_array သည် recursionraling ကိုပံ့ပိုးပေးမည်မဟုတ် ပုံမှန်အားဖြင့်တစ်ရှုထောင်ခင်းကျင်းမှုများကိုသာလုပ်ဆောင်သည်။

  3. ကျိုးကြောင်းဆီလျော် filter ရွေးချယ်ခြင်း <br> <br> စာတိုက်ပုံးများအတွက် filter_valka_ints အတွက် filter_valka_ints ကဲ့သို့သော အချက်အလက်အမျိုးအစားအရသင့်လျော်သော filter ကိုရွေးချယ်ပါ

  4. option ကို configurations <br> <br> filtering ၏ပြောင်းလွယ်ပြင်လွယ်မှုနှင့်လုံခြုံမှုကိုမြှင့်တင်ရန်အတွက်အကွာအဝေးကန့်သတ်ချက်များ, ပုံမှန်တန်ဖိုးများစသည်များကဲ့သို့သောစစ်ထုတ်စက်များကဲ့သို့သောစစ်ထုတ်စက်များအတွက်ရွေးချယ်စရာများကိုသတ်မှတ်နိုင်သည်။


5 ။ အကျဉ်းချုပ်

Filter_var_array သည် PHP တွင်အစွမ်းထက်ခင်းကျင်းသောစစ်ဆင်ရေးကိရိယာတစ်ခုဖြစ်သည်။ အကယ်. သင်သည်ရှုထောင့်အမျိုးမျိုးတပ်ဆင်လိုပါကသင်ကိုယ်တိုင် recursive filtering function ကိုအကောင်အထည်ဖော်ရန်အကြံပြုသည်။ စီစစ်ခြင်းဆိုင်ရာစည်းမျဉ်းစည်းကမ်းများနှင့်ဖွဲ့စည်းတည်ဆောက်ပုံများအားတည်ဆောက်ခြင်းအားဖြင့်အချက်အလက်လုံခြုံရေးနှင့်ထိရောက်မှုကိုထိရောက်စွာအာမခံနိုင်ပါသည်။

PHP နှင့်သက်ဆိုင်သောအချက်အလက်များနှင့်ဥပမာများပိုမိုများပြားရန်အတွက် https:/gitbox.net/php/php/philter_var_var_var_var_var_var_var_var_var_var_var_var_var_var_var_var_var_var_var_var_var_var_var_Array သို့သွားနိုင်သည်။