လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> array_diff_assoc နှင့် array_diff_assoc ကို Debuggugge လုပ်နည်း။

array_diff_assoc နှင့် array_diff_assoc ကို Debuggugge လုပ်နည်း။

gitbox 2025-05-31

Array_diff_assoc ဆိုတာဘာလဲ

array_diff_assoc သည် PHP built-in function တစ်ခုဖြစ်ပြီးနှစ် (သို့မဟုတ်) assigniative arrays (2) ခု၏သော့နှင့်တန်ဖိုးများကိုနှိုင်းယှဉ်ခြင်း, ပထမခင်းကျင်းမှုနှင့်အခြားခင်းကျင်းမှုတွင်မဟုတ်ဘဲအခြားခင်းကျင်းမှုတွင်မဟုတ်ဘဲအခြားခင်းကျင်းမှုတွင်ပါ 0 င်သည်။ ၎င်းသည်တန်ဖိုးများကိုနှိုင်းယှဉ်ရုံသာမကအဓိကအကြောင်းများကိုလည်းနှိုင်းယှဉ်သည်။

 array array_diff_assoc(array $array1, array $array2, array ...$arrays)
  • $ array1 : check လုပ်ထားရန် Array ။

  • $ array2 : နှင့်နှိုင်းယှဉ်ဖို့ခင်းကျင်း။

  • Return Value သည် ဒေါ်လာ array 1 တွင် တည်ရှိခဲ့သောသော့ချက်တန်ဖိုးအတွဲများပါ 0 င်သည့်ခင်းကျင်းမှုတစ်ခုဖြစ်သည်။


API ပြန်လာသောတန်ဖိုးများကိုပေါင်းစပ်ထားသောလက်တွေ့ကျသော application အခြေအနေများ

သင် API ကိုခေါ်ပြီးပြန်လာသည့်ဒေတာ $ apieresponse ကို ရယူပါဆိုပါစို့

 <?php
$apiResponse = [
    'name' => 'Alice',
    'age' => 30,
    'email' => '[email protected]',
    'status' => 'active'
];

$expectedData = [
    'name' => 'Alice',
    'age' => 25,
    'email' => '[email protected]',
    'status' => 'inactive'
];

// သွား array_diff_assoc ခြားနားချက်ကိုရှာပါ
$diff = array_diff_assoc($apiResponse, $expectedData);

print_r($diff);
?>

ထုတ်လုပ်မှု -

 Array
(
    [age] => 30
    [status] => active
)

ဤအချက်ကကျွန်ုပ်တို့အားနယ်ပယ်နှစ် လယ်ပိုင်း နှင့်အဆင့်အတန်း၏တန်ဖိုးများကွဲပြားမှုများရှိကြောင်းနှင့် status ကို ဖော်ပြထားသည်။ array_diff_assoc သည် ပထမဆုံးခင်းကျင်းမှုတွင်ကွဲပြားခြားနားသောတန်ဖိုးများကိုသာဖော်ပြထားသည်။


နောက်ထပ်နှစ်ဖက်အကြားကွဲပြားခြားနားမှုခွဲခြမ်းစိတ်ဖြာ

array_diff_assoc တစ်ခုတည်းကို သုံး. တစ် ဦး တည်းသာ $ apiresponse အတွက် $ aphiesponse အတွက် $ aphiesponse အတွက်သာရှာတွေ့နိုင်ပေမယ့် $ မျှော်လင့်ထားသည့် $ aphiesponse အတွက်ပျောက်ဆုံးနေသောသော့ချက်တန်ဖိုးရှိရှိမရှိသိချင်ပေမည်။ ဒီလိုလုပ်ဖို့, သင်တစ်ကြိမ်ပြန်ခေါ်နိုင်သည်

 $diffReverse = array_diff_assoc($expectedData, $apiResponse);

print_r($diffReverse);

ထုတ်လုပ်မှု -

 Array
(
    [age] => 25
    [status] => inactive
)

ဤနည်းဖြင့်ကျွန်ုပ်တို့သည်နှစ်ဖက်အကြားသတ်သတ်မှတ်မှတ်ကွဲပြားခြားနားမှုများဖြစ်ကြောင်းကျွန်ုပ်တို့တွေ့မြင်နိုင်သည်။


အမှန်တကယ် debugging လုပ်ငန်းစဉ်၏ဥပမာ

သင်ခေါ်ဆိုနေသော API သည်အသုံးပြုသူအချက်အလက်များကို URL မှရယူရန်ဖြစ်သည်ဆိုပါစို့။

 <?php
$apiUrl = 'https://gitbox.net/api/user/12345'; // ဒီမှာအသုံးပြုခဲ့သည် gitbox.net အခြားရွေးချယ်စရာဒိုမိန်းအမည်

$responseJson = file_get_contents($apiUrl);
$apiResponse = json_decode($responseJson, true);

$expectedData = [
    'name' => 'Alice',
    'age' => 30,
    'email' => '[email protected]',
    'status' => 'active'
];

// ခြားနားချက်ကိုရှာပါ
$diff = array_diff_assoc($apiResponse, $expectedData);
$diffReverse = array_diff_assoc($expectedData, $apiResponse);

if (!empty($diff) || !empty($diffReverse)) {
    echo "API ပြန်လာသောဒေတာနှင့်မျှော်မှန်းထားသောအချက်အလက်များအကြားခြားနားချက်ရှိသည်:\n";
    echo "APIအပို/ကွဲပြားခြားနားသောလယ်ကွင်း:\n";
    print_r($diff);
    echo "预期အပို/ကွဲပြားခြားနားသောလယ်ကွင်း:\n";
    print_r($diffReverse);
} else {
    echo "API မျှော်လင့်ထားသည့်အတိုင်းအတိအကျဒေတာကိုပြန်သွားပါ。\n";
}
?>

မှတ်သားရန်အရာ

  1. MultidimenDimenDimensal array နှိုင်းယှဉ်
    array_diff_assoc သည် တစ်ရှုထောင်ခင်းကျင်းမှုအတွက်သာထိရောက်နိုင်သည်။ အကယ်. ပြန်လာသောအချက်အလက်များသည်ရှုထောင့်အမျိုးမျိုးခင်းကျင်းပါကသင့်အား recursive function တစ်ခုကိုရေးရန်နှင့်အလွှာကိုအလွှာဖြင့်နှိုင်းယှဉ်ရန်လိုအပ်သည်။

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

  3. sequential sensitivity ကို
    Array_diff_assoc သည်သော့ချက်များနှင့်တန်ဖိုးများကိုအနိမ့်ဆုံးမဟုတ်သော်လည်းသင်၏ဒေတာသည် indexed ခင်းကျင်းမှုတစ်ခုဖြစ်ပြီးအမှာစာ သည် အရေးကြီးသည်,


ကောက်ချက်

ARRAIF_DIFF_Aff_AsSOC ကိုအသုံးပြုပြီး API ပြန်လာတန်ဖိုးနှင့်အတူဒေတာအကြားကွဲပြားခြားနားမှုများကိုလျင်မြန်စွာရှာဖွေနိုင်ပါသည်။ အပြန်အလှန်ဆန့်ကျင်ဘက်နှင့်တုန့်ပြန်မှုအမျိုးမျိုးကိုပြန်လည်ပြုပြင်ခြင်းနှင့်ပြန်လည်ပြုပြင်ခြင်းများကိုပေါင်းစပ်ခြင်းနှင့်တုန့်ပြန်မှုအမျိုးမျိုးကိုပြန်လည်ပြုပြင်ခြင်းများကိုပိုမိုတိကျပြီးပြည့်စုံသောအသေးစိတ်အချက်အလက်များကိုပိုမိုတိကျမှန်ကန်ပြီးပြည့်စုံစေသည်။

ဤနည်းလမ်းသည်ရိုးရှင်းပြီးအကျိုးရှိရှိဖြစ်သည်။ အမှန်တကယ်စီးပွားရေးလိုအပ်ချက်များနှင့်အညီကြိုးစားပြီးတိုးချဲ့ရန်ကြိုဆိုပါသည်။