APIs ကိုတီထွင်သောအခါသူတို့၏ကွဲပြားခြားနားမှုများကိုဆုံးဖြတ်ရန် Payloads နှစ်ခုပါအကြောင်းအရာများကိုနှိုင်းယှဉ်ရန်လိုအပ်သည်။ ဥပမာအားဖြင့်အသုံးပြုသူအချက်အလက်များကိုအသစ်အဆန်းအသစ်များကိုမွမ်းမံသည့်အခါ, အသစ်နှင့်အဟောင်းများအကြားကွဲပြားခြားနားမှုများကိုနှိုင်းယှဉ်ကြည့်ပါ, PHP သည်အလွန်အသုံးဝင်သော function ကိုထောက်ပံ့ပေးသည် - Array_diff_assoc , array_diff_assoc ကိုထောက်ပံ့ပေးနိုင်သည်။ Payload အကြောင်းအရာများကိုနှိုင်းယှဉ်ရန်ဤလုပ်ဆောင်ချက်ကိုမည်သို့အသုံးပြုရမည်ကိုအသေးစိတ်ရှင်းပြချက်ဖြစ်သည်။
Array_diff_assoc သည် PHP တွင် built-in function တစ်ခုဖြစ်သည်။ array_diff , array_diff_assoc နှင့်မတူဘဲတန်ဖိုးများကိုနှိုင်းယှဉ်ရုံသာမကအဓိကအမည်များကိုနှိုင်းယှဉ်သည်။ Key Name နှင့်တန်ဖိုးသည်မကိုက်ညီသောမှသာ element ကိုကွဲပြားခြားနားသည်။
array_diff_assoc(array $array1, array $array2): array
$ array1 : နှိုင်းယှဉ်မှုအတွက်ရည်ညွှန်းခင်းကျင်းအဖြစ်ပထမ ဦး ဆုံးခင်းကျင်း။
$ array2 : ပထမ ဦး ဆုံးခင်းကျင်းနှင့်နှိုင်းယှဉ်ပါကဒုတိယ array ။
ဤလုပ်ဆောင်ချက်သည် ဒေါ်လာ array 1 တွင်တည်ရှိနေသောဒြပ်စင်များပါ 0 င်သော array တစ်ခုသို့ပြန်လည်ရောက်ရှိသော်လည်း ဒေါ်လာ array2 တွင်မရှိပါ။
ကျွန်ုပ်တို့တွင် JSON format တွင် Payloads နှစ်ခုတွင် Payloads နှစ်ခုရှိသည်, အသုံးပြုသူအချက်အလက်ဟောင်းများကိုကိုယ်စားပြုသည်။
{
"user_id": 12345,
"name": "Zhang San",
"email": "zhangsan@m66.net",
"phone": "1234567890"
}
{
"user_id": 12345,
"name": "Zhang San",
"email": "zhangsan@m66.net",
"phone": "0987654321"
}
ဒီ JSON Payloads နှစ်ခုအတွင်းဒေတာကွဲပြားခြားနားမှုတွေကိုနှိုင်းယှဉ်ချင်ကြတယ်။ ဤတွင်ကျွန်ုပ်တို့သည်၎င်းကိုအကောင်အထည်ဖော်ရန် Array_Diff_assoc ကို သုံးနိုင်သည်။
ပထမ ဦး စွာကျွန်ုပ်တို့သည်ဤ JSON ဒေတာနှစ်ခုကို၎င်းတို့နှိုင်းယှဉ်နိုင်မီ PHP Array သို့ပြောင်းလဲရန်လိုအပ်သည်။
<?php
// ဒေတာအဟောင်း
$old_payload = '{"user_id": 12345, "name": "Zhang San", "email": "zhangsan@m66.net", "phone": "1234567890"}';
// ဒေတာအသစ်
$new_payload = '{"user_id": 12345, "name": "Zhang San", "email": "zhangsan@m66.net", "phone": "0987654321"}';
// decoding JSON ဒေတာဖြစ်ပါတယ် PHP အခင်းအကျင်း
$old_data = json_decode($old_payload, true);
$new_data = json_decode($new_payload, true);
// 输出အခင်းအကျင်း查看结果
var_dump($old_data);
var_dump($new_data);
?>
Array_diff_assoct function ကိုဖြင့်ကျွန်ုပ်တို့သည်နှစ်ခု array နှစ်ခုအကြားခြားနားချက်ကိုအလွယ်တကူရှာတွေ့နိုင်သည်။
<?php
// ခြားနားချက်ကိုရယူပါ
$differences = array_diff_assoc($old_data, $new_data);
// output ကိုခြားနားချက်
if (!empty($differences)) {
echo "ဒေတာကွဲပြားခြားနားမှု:\n";
print_r($differences);
} else {
echo "ဒေတာတသမတ်တည်း,ခြားနားချက်မရှိပါ。\n";
}
?>
ဒေတာကွဲပြားခြားနားမှု:
Array
(
[phone] => 1234567890
)
အထက်တွင်ဖော်ပြထားသည့်အတိုင်း ဖုန်း ၏တန်ဖိုးသည်ဒေတာဟောင်းများနှင့်အချက်အလက်အသစ်များနှင့်ကွဲပြားသောအချက်အလက်များနှင့်အချက်အလက်အသစ်များတွင်ကွဲပြားကြောင်း, ဒေတာအဟောင်းတွင် ဖုန်း တန်ဖိုးကို ဖော်ပြထားခြင်း, ဤသည်ကိုနှိုင်းယှဉ်ခြင်းမှတဆင့်ရရန်မျှော်လင့်ပါတယ်အတိအကျခြားနားချက်ဖြစ်ပါတယ်။
API debugging : API ကိုတီထွင်တဲ့အခါ, မျှော်လင့်ထားတဲ့ရလဒ်တွေနဲ့ interface ကပြန်လာတဲ့အချက်အလက်တွေကိုနှိုင်းယှဉ်ဖို့လိုကောင်းလိုလိမ့်မည်။ ကွဲပြားခြားနားမှုများကိုလျင်မြန်စွာကြည့်ရန်နှင့် developer များပြ problems နာများကိုရှာဖွေရန် array_diff_assoct ကို သုံးပါ။
ဒေတာ update : အသုံးပြုသူပရိုဖိုင်အသစ်ပြောင်းခြင်း၏မြင်ကွင်းတွင်ဤနည်းလမ်းသည်မည်သည့်နေရာတွင်ပြောင်းလဲမည်ကိုဆုံးဖြတ်ရန်အသစ်နှင့်အဟောင်းများအကြားကွဲပြားခြားနားမှုများကိုနှိုင်းယှဉ်ရန်အသုံးပြုနိုင်သည်။
Logging : အသုံးပြုသူအပြုအမူသို့မဟုတ်ဒေတာပြောင်းလဲမှုမှတ်တမ်းများကိုမှတ်တမ်းတင်သောအခါနောက်ဆက်တွဲခွဲခြမ်းစိတ်ဖြာခြင်းကိုလွယ်ကူချောမွေ့စေရန်အတွက်အချက်အလက်အပြောင်းအလဲများ၏အခြားအကြောင်းအရာကိုနားလည်ပါ။