PHP application များဖွံ့ဖြိုးလာသောအခါဒေတာစစ်ဆေးခြင်းသည်အလွန်အရေးကြီးသောခြေလှမ်းတစ်ခုဖြစ်သည်။ အထူးသဖြင့်ရှုပ်ထွေးသောဒေတာအဆောက်အအုံများနှင့်ဆက်ဆံရာတွင်အချက်အလက်များကိုမှန်ကန်စွာပုံစံချရန်သေချာစေရန်အလွန်အရေးကြီးသည်။ အစဉ်အလာအရကျွန်ုပ်တို့သည်အခြေခံအတည်ပြုချက်အချို့ကိုစစ်ဆေးရန်သို့မဟုတ်စစ်ဆေးရန်အတွက်ခင်းကျင်းသော့ချက်များကိုကိုယ်တိုင်ကိုယ်ကျနှိုင်းယှဉ်နိုင်သည်။ သို့သော်၎င်းသည်မကြာခဏအလွန်မတတ်နိုင်သောကြောင့်ဖြစ်သည်။ PHP တွင် array_diff_ukey () function သည် array keys များကိုနှိုင်းယှဉ်ရန်ထိရောက်သောနည်းလမ်းဖြစ်သည်။
array_diff_ukey () function သည် PHP တွင်ပါ 0 င်သည့်လုပ်ဆောင်ချက်တစ်ခုမှာ array နှစ်ခု၏သော့များကိုနှိုင်းယှဉ်ပြီးကွဲပြားခြားနားသောသော့များပါ 0 င်သော array အသစ်တစ်ခုကိုပြန်ပို့သည်။ array_diff () နှိုင်းယှဉ်တန်ဖိုးများနှင့်မတူဘဲ array_diff_ukey () ကို array keys များပေါ်တွင်အခြေခံသည်။ အသုံးပြုသူသတ်မှတ်ထားသော callback function များအပေါ် အခြေခံ. သော့ချက်များကိုခြားနားချက်ကိုစီရင်သည်။
function ရှေ့ပြေးပုံစံ:
array_diff_ukey(array $array1, array $array2, callable $key_compare_func): array
$ array1 နှင့် $ array2 နှိုင်းယှဉ်ခံရဖို့လိုအပ်တဲ့ array2 နှစ်ခု arrays ရှိပါတယ်။
$ key_compare_func သည် incray element နှစ်ခု၏သော့များကိုနှိုင်းယှဉ်သော callback function ကိုဖြစ်သည်။
Schema အတည်ပြုခြင်းပြုလုပ်သောအခါကျွန်ုပ်တို့သည်များသောအားဖြင့်အချက်အလက်ဖွဲ့စည်းပုံရှိသော့ချက်များရှိသော့များသည်မျှော်လင့်ထားသည့်အတိုင်းစစ်ဆေးရန်လိုအပ်သည်။ ဥပမာအားဖြင့်, ကျွန်ုပ်တို့သည်အသုံးပြုသူအချက်အလက်ပါ 0 င်သော array တစ်ခုရရှိသည်ဆိုပါစို့။ အကယ်. ပျောက်ဆုံးနေသောသို့မဟုတ်မလိုအပ်သောသော့များရှိသည့်သော့များရှိပါက၎င်းသည်ဒေတာများကိုပုံစံချခြင်းသို့မဟုတ်ပျက်ကွက်ခြင်းများပြုလုပ်နိုင်သည်။ array_diff_ukey () ဤလုပ်ငန်းကိုပြီးမြောက်စေရန်ရိုးရှင်းသောနှင့်ထိရောက်သောဖြေရှင်းချက်ကိုပေးသည်။
ကျွန်ုပ်တို့တွင် ID , အမည် နှင့် အီးမေးလ် ကဲ့သို့သောနယ်ပယ်များအပါအ 0 င်အသုံးပြုသူအချက်အလက်များရှိသည်ဆိုပါစို့။ ကျွန်ုပ်တို့၏ရည်မှန်းချက်မှာဤခင်းကျင်းမှု၏သော့များသည်ကြိုတင်သတ်မှတ်ထားသော schema နှင့်ပြည့်မီကြောင်းစစ်ဆေးရန်ဖြစ်သည်။
<?php
// ကြိုတင် schema
$expected_schema = [
'id' => null,
'name' => null,
'email' => null,
];
// အသုံးပြုသူအချက်အလက်များ
$user_data = [
'id' => 123,
'name' => 'John Doe',
'email' => 'john.doe@m66.net',
'extra_field' => 'Some extra value', // အပိုလယ်ကွင်း
];
// အသုံးပြု array_diff_ukey() 比较အသုံးပြုသူအချက်အလက်များ和预定义 schema သော့များ
$missing_keys = array_diff_ukey($user_data, $expected_schema, function($key1, $key2) {
return $key1 === $key2 ? 0 : -1; // 简单သော့များ比较
});
// 输出缺失သော့များ
if (empty($missing_keys)) {
echo "数据သော့များ符合预期 schema。\n";
} else {
echo "数据သော့များ缺失或多余:\n";
print_r($missing_keys);
}
?>
ဤဥပမာတွင်ကျွန်ုပ်တို့တွင်အသုံးပြုသူဒေတာခင်းကျင်းမှု $ user_Data ရှိသည်။ ၎င်းသည် မျှော်လင့်ထားသည့်အတိုင်း သတ်မှတ်ထားသည့်နယ်ပယ်များနှင့်ကိုက်ညီကြောင်းအတည်ပြုလိုပါသည်။ Array_Diff_ukey () function ကိုအသုံးပြုခြင်း () function ကိုအသုံးပြုခြင်းသည်အပို (ဥပမာ - exprefield ကဲ့သို့သော) နှင့်ကွက်လပ်များပျောက်ဆုံးနေသောလယ်ကွင်းများကိုရှာဖွေရန်ကူညီနိုင်သည်။
ထိရောက်သောအဓိကနှိုင်းယှဉ်ချက် - array_diff_ukey () သည် ခင်းကျင်းခြင်း၏သော့များကိုတန်ဖိုးထားသည်။ ၎င်းသည် Schema validation လုပ်ခြင်းအားပြုလုပ်ရာတွင်အထူးသဖြင့်ခင်းကျင်း၏သော့များကိုသာဂရုစိုက်သောအခါ၎င်းသည်ပိုမိုထိရောက်စေသည်။
စိတ်ကြိုက်နှိုင်းယှဉ်မှု function : array_diff_ukey () သည်သော့များကိုနှိုင်းယှဉ်ရန်ထုံးစံကုဒ်များကိုပေးရန်ကျွန်ုပ်တို့အားခွင့်ပြုသည်။ ရှုပ်ထွေးသော Schema စိစစ်အတည်ပြုခြင်းနှင့်ဆက်ဆံရာတွင်၎င်းသည်ပိုမိုပြောင်းလွယ်ပြင်လွယ်စေသည်။
Concise နှင့်အသုံးပြုရန်လွယ်ကူသည် - array_diff_ukey () သည် သန့်ရှင်းသောဖြေရှင်းနည်းတစ်ခုပေးပြီးရိုးရှင်းသောလက်စွဲအတည်ပြုသည့်နည်းလမ်းများနှင့်နှိုင်းယှဉ်လျှင် code ၏ရှုပ်ထွေးမှုကိုလျော့နည်းစေသည်။
Array_diff_ukey () function ကိုအသုံးပြုခြင်းအားဖြင့်ကျွန်ုပ်တို့သည် array schema စစ်ဆေးခြင်းကိုပိုမိုထိရောက်စွာအကောင်အထည်ဖော်နိုင်သည်။ ဒေတာဖွဲ့စည်းပုံရှိသော့ချက်များသည်မျှော်လင့်ချက်များနှင့်ကိုက်ညီမှုရှိ, မရှိကိုလျင်မြန်စွာစစ်ဆေးသည်။ ၎င်းသည်အသုံးပြုသူထည့်သွင်းမှုအချက်အလက်များကိုလုပ်ဆောင်ခြင်းသို့မဟုတ်ရှုပ်ထွေးသော API ပေါင်းစည်းမှု ကို ဖျော်ဖြေသည်ဖြစ်စေ,