APIS ကိုတီထွင်သောအခါတောင်းဆိုထားသော parameters များကိုမျှော်လင့်ထားသည့်သတ်မှတ်ချက်များကိုမျှော်လင့်ထားသည့်သတ်မှတ်ချက်များနှင့်နှိုင်းယှဉ်ကြည့်ရှုရန်လိုအပ်နိုင်သည်။ PHP မှပေးသော Array_diff_assoc function သည်၎င်းကိုအောင်မြင်ရန်ကူညီနိုင်သည်။ ဤလုပ်ဆောင်မှုသည်အဓိကတန်ဖိုးနှစ်ခုကိုနှစ်ခု arry နှစ်ခုကိုနှိုင်းယှဉ်ရန်အသုံးပြုသည်။ ထို့နောက် API တောင်းဆိုမှုများမတိုင်မီနှင့်အပြီး parameters တွေကိုနှိုင်းယှဉ်ခြင်းနှင့်နှိုင်းယှဉ်ခြင်းအတွက်ဤလုပ်ငန်းကိုမည်သို့အသုံးပြုရမည်ကိုမိတ်ဆက်ပေးပါမည်။
ပထမ ဦး စွာကျွန်ုပ်တို့သည် Array_diff_assoc function ကို အခြေခံ. အခြေခံအားဖြင့်နားလည်ရန်လိုအပ်သည်။ ဤလုပ်ဆောင်ချက်သည် array နှစ်ခုကိုနှိုင်းယှဉ်ရန်နှင့်ပထမခင်းကျင်းမှုတွင်တည်ရှိနေသော key-value အတွဲများပါ 0 င်ရန်အသုံးပြုသည်။
array_diff_assoc(array $array1, array $array2): array
$ array1 : ပထမ ဦး ဆုံးခင်းကျင်း (နှိုင်းယှဉ်ခံရဖို့ Array) ။
$ array2 : ဒုတိယခင်းကျင်း (ပထမ ဦး ဆုံးခင်းကျင်းနှင့်နှိုင်းယှဉ်ပါကခင်းကျင်း) ။
ဤလုပ်ဆောင်ချက်သည်အရေးပါသောသော့အမည်များနှင့်အဓိကတန်ဖိုးများကိုနှိုင်းယှဉ်ပြီးပထမခင်းကျင်းမှုတွင်သော့ချက်တန်ဖိုးအတွဲများကိုပြန်ပို့သည်။
API တောင်းဆိုမှုမတိုင်မီနှင့်အပြီးများမတောင်းဆိုမှီနှင့်အပြီးများများစားစားရှာဖွေရန်အတွက်ကျွန်ုပ်တို့များသောအားဖြင့် array_diff_assoc ကို အသုံးပြုသည်ဆိုပါစို့။ ဥပမာအားဖြင့်:
အသုံးပြုသူသည် parameters တွေကိုတင်ပြသော API တောင်းဆိုမှုရှိသည်။ တင်သွင်းထားသော parameters များကိုလည်းမျှော်လင့်ထားသည့်သတ်မှတ်ချက်များကိုမျှော်လင့်ထားသည့်သတ်မှတ်ချက်များနှင့်နှိုင်းယှဉ်လိုသည်။
<?php
// Simulation တောင်းဆိုမှုမတိုင်မီ parameters တွေကို
$expectedParams = [
'user_id' => 123,
'name' => 'John Doe',
'email' => 'john.doe@m66.net',
'phone' => '123-456-7890'
];
// အသုံးပြုသူ - တင်သွင်းသော parameters တွေကိုတုပ
$submittedParams = [
'user_id' => 123,
'name' => 'John Doe',
'email' => 'john.doe@m66.net',
'phone' => '987-654-3210', // ကွဲပြားခြားနားသောလက်ကိုင်ဖုန်းနံပါတ်များ
'address' => '123 Main St' // အပိုဆောင်း parameters တွေကိုတင်သွင်းခဲ့ကြသည်
];
// အသုံးပြု array_diff_assoc နှစ်ခု array နှိုင်းယှဉ်
$diff = array_diff_assoc($submittedParams, $expectedParams);
// output နှိုင်းယှဉ်ရလဒ်များ
if (!empty($diff)) {
echo "တောင်းဆိုထားသော parameters များနှင့်မျှော်လင့်ထားသည့်သတ်မှတ်ချက်များအကြားခြားနားချက်မှာအောက်ပါအတိုင်းဖြစ်သည်:\n";
print_r($diff);
} else {
echo "တောင်းဆိုထားသော parameters များသည်မျှော်လင့်ထားသည့်သတ်မှတ်ချက်များနှင့်ကိုက်ညီသည်。\n";
}
?>
Usera ViewALATARATS : Fields user_id , name , အီးမေးလ် နှင့် ဖုန်း သုံးမျိုးအပါအ 0 င်ကျွန်ုပ်တို့မျှော်လင့်ထားသည့်တောင်းဆိုချက် parameter ဖြစ်သည်။
$ subctractarams : ဤသည်အသုံးပြုသူမှတင်ပြသောတောင်းဆိုမှု parameter ဖြစ်ပါတယ်။ သာမန်လေးကွက်များအပြင်အပို ဆောင်းလိပ်စာ အကွက်ကိုတင်သွင်းပြီး ဖုန်း ကိုပြုပြင်မွမ်းမံသည်။
subsparparparams များ နှင့် versailarams များကို နှိုင်းယှဉ်ရန် array_diff_assoc ကို သုံး. သူတို့အကြားခြားနားချက်များကိုရှာဖွေပါ။
ခြားနားချက်တစ်ခုရှိပါက, ခြားနားချက်ကို output ကို output လုပ်ရန် print_r ကို သုံးပါ။ ခြားနားချက်မရှိပါကတစ်တသမတ်တည်းမက်ဆေ့ခ်ျကိုထုတ်ပေးလျှင်။
တောင်းဆိုထားသော parameters များနှင့်မျှော်လင့်ထားသည့်သတ်မှတ်ချက်များအကြားခြားနားချက်မှာအောက်ပါအတိုင်းဖြစ်သည်:
Array
(
[phone] => 987-654-3210
[address] => 123 Main St
)
အပေါ်ကပြထားတဲ့အတိုင်း output ဟာအသုံးပြုသူတောင်းဆိုချက်တွေရဲ့ခြားနားချက်ကိုပြသထားတယ်။ ဖုန်း parameter သည်ပြုပြင်မွမ်းမံပြီး လိပ်စာ သည်မလိုအပ်သော parameter တစ်ခုဖြစ်သည်။
တခါတရံတွင်ကျွန်ုပ်တို့သည်နှစ်ခု array နှစ်ခုအကြားကွဲပြားခြားနားမှုများကိုနှိုင်းယှဉ်ရန်သာလိုပေမဲ့ပိုမိုရှုပ်ထွေးသောစစ်ဆေးမှုများလိုအပ်သည်။ ဥပမာအားဖြင့်ကျွန်ုပ်တို့သည်သတ်သတ်မှတ်မှတ်ဆိုင်ရာသတ်မှတ်ချက်များပျောက်ဆုံးနေသည်သို့မဟုတ်အချို့သောသော့ကွက်များသည်တိကျသောပုံစံနှင့်ကိုက်ညီမှုရှိမရှိကိုကျွန်ုပ်တို့သိရန်လိုပေမည်။ လုပ်ဆောင်ချက်များကိုမြှင့်တင်ရန်အတွက်၎င်းကိုအခြား PHP လုပ်ဆောင်ချက်များကို တွဲဖက်. ကိုင်တွယ်နိုင်သည်။
<?php
$missingParams = array_diff_key($expectedParams, $submittedParams);
if (!empty($missingParams)) {
echo "အောက်ပါ parameters တွေကိုပျောက်ဆုံးနေသည်:\n";
print_r($missingParams);
} else {
echo "အားလုံးမျှော်လင့်ထားသည့် parameters တွေကိုတင်သွင်းခဲ့ကြသည်。\n";
}
?>
ဤဥပမာတွင် Array_Diff_key သည်အဓိကအမည်များကိုရှာဖွေရန်အဓိကထားချက်များကိုနှိုင်းယှဉ်ရန်အတွက်အဓိကအမည်များကိုနှိုင်းယှဉ်ရန်အသုံးပြုသည်။