လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> Array_diff_ukey () ကိုသုံးရန် Trans-End Department Field နှင့် Back-end field mapping chegages ကိုအကောင်အထည်ဖော်ရန်

Array_diff_ukey () ကိုသုံးရန် Trans-End Department Field နှင့် Back-end field mapping chegages ကိုအကောင်အထည်ဖော်ရန်

M66 2025-06-06

ရှေ့ဆုံးခွဲထွက်ခြင်းမှုတ်သွင်းခြင်းဖြင့်ရှေ့ဆုံးသည် JSON format တွင်နောက်ခံအဆုံးသို့ data များကိုတင်ပြလေ့ရှိသည်။ ဒေတာသမာဓိနှင့်လုံခြုံရေးကိုသေချာစေရန်ဤနယ်ပယ်များသည်မျှော်လင့်ထားသည့်အကွက်များနှင့်ကိုက်ညီကြောင်းအတည်ပြုရန်လိုအပ်သည်။ PHP မှ array_diff_ukey () function ကို function သည်ကျွန်ုပ်တို့ကိုလျောက်ပတ်စွာအောင်မြင်ရန်ကူညီနိုင်သည်။

ဤဆောင်းပါးသည် array_diff_ukey () ကို မည်သို့အသုံးပြုရမည်ကိုဖော်ပြရန်ရိုးရှင်းသောဥပမာကို အသုံးပြု. အဓိကကျသောသော့ချက်အမည်များကိုရှာဖွေခွင့်ပြုသည့်ရှေ့တန်းနှင့်ကွင်းဆင်းများကတင်ပြထားသောနယ်မြေများနှင့်ဖြည့်ဆည်းပေးသည့်နယ်မြေများကိုနှိုင်းယှဉ်ရန်။

1 ။ array_diff_ukey () မှမိတ်ဆက်ခြင်း ()

array_diff_ukey () သည် PHP built-in function တစ်ခုဖြစ်ပြီး၎င်းသည်ခင်းကျင်းမှုနှစ်ခု၏အဓိကအမည်များကိုနှိုင်းယှဉ်ပြီးနှိုင်းယှဉ်မှုအတွက်အသုံးပြုသူသတ်မှတ်ထားသော callback function ကိုအသုံးပြုသည်။ ၎င်းသည်ပထမဆုံးခင်းကျင်းမှုတွင်ဖော်ပြထားသောသော့ချက်အမည်နှင့်သက်ဆိုင်သောတန်ဖိုးကိုပြန်ပို့သည်။

function ရှေ့ပြေးပုံစံ:

 array_diff_ukey(array $array1, array $array2, callable $key_compare_func): array

2 ။ လျှောက်လွှာဇာတ်လမ်း - လယ်ကွင်းမြေပုံစစ်ဆေးမှု

ကျနော်တို့က backend ကိုအောက်ပါလယ်ကွင်းသာလက်ခံရရှိချင်တယ်ဆိုပါစို့:

 $allowedFields = [
    'username' => true,
    'email' => true,
    'age' => true,
];

ရှေ့မျက်နှာပြင်သည်အောက်ပါအချက်အလက်များကိုတင်ပြခဲ့သည်။

 $submittedData = [
    'username' => 'alice',
    'email' => 'alice@example.com',
    'age' => 25,
    'is_admin' => true, // တရားမဝင်လယ်ကွင်း
];

ကျွန်ုပ်တို့သည် "IS_ADMIN" သည်တရားမဝင်သောလယ်ကွင်းဖြစ်သည်ကိုစစ်ဆေးရန်လိုအပ်သည်။

3 ။ Array_diff_ukey () တရားမဝင်အကွက်များကိုစစ်ဆေးရန်

 <?php

$allowedFields = [
    'username' => true,
    'email' => true,
    'age' => true,
];

$submittedData = [
    'username' => 'alice',
    'email' => 'alice@example.com',
    'age' => 25,
    'is_admin' => true,
];

// အသုံးပြု array_diff_ukey လယ်ကွင်းနှိုင်းယှဉ်လုပ်ဆောင်ခြင်း
$invalidFields = array_diff_ukey(
    $submittedData,
    $allowedFields,
    function($key1, $key2) {
        return strcmp($key1, $key2);
    }
);

if (!empty($invalidFields)) {
    echo "检测到တရားမဝင်လယ်ကွင်း:\n";
    foreach ($invalidFields as $field => $value) {
        echo "- $field: $value\n";
    }

    // မှတ်တမ်းများကိုမှတ်တမ်းတင်ထားနိုင်ပါသည်သို့မဟုတ်အမှားမက်ဆေ့ခ်ျကိုပြန်ပို့နိုင်ပါတယ်
    // နမူနာမှတ်တမ်း interface ခေါ်ဆိုမှု(PseudoDode):
    $logUrl = 'https://api.m66.net/logs/invalid-fields';
    // sendToApi($logUrl, ['fields' => array_keys($invalidFields)]);
} else {
    echo "ကွင်းဆင်းအတည်ပြုအတည်ပြု。\n";
}

4 ။ တိုးချဲ့ခြင်း - မြေပုံကွင်းဆင်းအမည်များ

ရှေ့တန်းအကွက်သည်နောက်ခံနာမည်အဆုံးတွင် (ထိုကဲ့သို့သောကုလားအုတ်နှင့် underscore ကဲ့သို့သော) နှင့်ကိုက်ညီမှုမရှိပါက၎င်းကိုလယ်မြေမြေပုံ table နှင့်ပေါင်းစပ်။ အသုံးပြုနိုင်သည်။

 $fieldMap = [
    'userName' => 'username',
    'emailAddress' => 'email',
    'userAge' => 'age',
];

// စိစစ်အတည်ပြုဘို့မြေပုံ table ကိုပြောင်းပြန်
$mappedKeys = array_flip($fieldMap);

// Simulation တင်ပြချက်
$submittedData = [
    'userName' => 'alice',
    'emailAddress' => 'alice@example.com',
    'userAge' => 25,
    'adminStatus' => true,
];

$invalidFields = array_diff_ukey(
    $submittedData,
    $mappedKeys,
    'strcmp'
);

if (!empty($invalidFields)) {
    echo "အောက်ပါလယ်ကွင်းများကိုမြေပုံစားပွဲတွင်မသတ်မှတ်ထားပါ:\n";
    print_r(array_keys($invalidFields));
} else {
    echo "လယ်ကွင်းမြေပုံအတည်ပြု。\n";
}

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

Array_Diff_ukey () , မြေပုံစားပွဲပေါ်မှာမသတ်မှတ်ထားတဲ့ရှေ့တန်းမှာမသတ်မှတ်ထားတဲ့တရားမဝင်လယ်ကွင်းတွေကိုအလျင်အမြန်ရောက်သွားတယ်။ ၎င်းသည်တရားမ 0 င်ဒေတာထိုးဆေးထိုးခြင်းကိုတားဆီးရုံသာမကကွင်းဆင်းစိစစ်အတည်ပြုယုတ္တိဗေဒကိုလည်းရိုးရှင်းစေသည်။ စီမံကိန်း၏ထိန်းသိမ်းမှုနှင့်လုံခြုံရေးကိုတိုးတက်စေရန်အတွက်၎င်းကိုအထွေထွေပုံစံစိစစ်ရေးကိရိယာနည်းလမ်းတစ်ခုအနေဖြင့်၎င်းကို oncapsulate လုပ်ရန်အကြံပြုသည်။