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 ကိုခေါ်ပြီးပြန်လာသည့်ဒေတာ $ 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
)
ဤနည်းဖြင့်ကျွန်ုပ်တို့သည်နှစ်ဖက်အကြားသတ်သတ်မှတ်မှတ်ကွဲပြားခြားနားမှုများဖြစ်ကြောင်းကျွန်ုပ်တို့တွေ့မြင်နိုင်သည်။
သင်ခေါ်ဆိုနေသော 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";
}
?>
MultidimenDimenDimensal array နှိုင်းယှဉ်
array_diff_assoc သည် တစ်ရှုထောင်ခင်းကျင်းမှုအတွက်သာထိရောက်နိုင်သည်။ အကယ်. ပြန်လာသောအချက်အလက်များသည်ရှုထောင့်အမျိုးမျိုးခင်းကျင်းပါကသင့်အား recursive function တစ်ခုကိုရေးရန်နှင့်အလွှာကိုအလွှာဖြင့်နှိုင်းယှဉ်ရန်လိုအပ်သည်။
အမျိုးအစားများကိုတင်းကြပ်စွာနှိုင်းယှဉ်
array_diff_assoc သည် အဓိကအကြောင်းရင်းနှင့်အဓိကတန်ဖိုးများကိုနှိုင်းယှဉ်သော်လည်းတင်းကျပ်သောအမျိုးအစားနှိုင်းယှဉ်မှုများ (ထိုကဲ့သို့သောကြိုးနှင့်နံပါတ်များအကြားကွဲပြားခြားမှုနှိုင်းယှဉ်မှုများ) မပြုလုပ်နိုင်ပါ။ အကယ်. သင်သည်တင်းကျပ်သောအမျိုးအစားနှိုင်းယှဉ်မှုလိုအပ်ပါကပိုမိုရှုပ်ထွေးသောနှိုင်းယှဉ်မှုလုပ်ဆောင်ချက်များကိုသင်ကိုယ်တိုင်အကောင်အထည်ဖော်ရန်စဉ်းစားနိုင်သည်။
sequential sensitivity ကို
Array_diff_assoc သည်သော့ချက်များနှင့်တန်ဖိုးများကိုအနိမ့်ဆုံးမဟုတ်သော်လည်းသင်၏ဒေတာသည် indexed ခင်းကျင်းမှုတစ်ခုဖြစ်ပြီးအမှာစာ သည် အရေးကြီးသည်,
ARRAIF_DIFF_Aff_AsSOC ကိုအသုံးပြုပြီး API ပြန်လာတန်ဖိုးနှင့်အတူဒေတာအကြားကွဲပြားခြားနားမှုများကိုလျင်မြန်စွာရှာဖွေနိုင်ပါသည်။ အပြန်အလှန်ဆန့်ကျင်ဘက်နှင့်တုန့်ပြန်မှုအမျိုးမျိုးကိုပြန်လည်ပြုပြင်ခြင်းနှင့်ပြန်လည်ပြုပြင်ခြင်းများကိုပေါင်းစပ်ခြင်းနှင့်တုန့်ပြန်မှုအမျိုးမျိုးကိုပြန်လည်ပြုပြင်ခြင်းများကိုပိုမိုတိကျပြီးပြည့်စုံသောအသေးစိတ်အချက်အလက်များကိုပိုမိုတိကျမှန်ကန်ပြီးပြည့်စုံစေသည်။
ဤနည်းလမ်းသည်ရိုးရှင်းပြီးအကျိုးရှိရှိဖြစ်သည်။ အမှန်တကယ်စီးပွားရေးလိုအပ်ချက်များနှင့်အညီကြိုးစားပြီးတိုးချဲ့ရန်ကြိုဆိုပါသည်။