PHP တွင် Array_diff_UASTOUC သည်အလွန်အသုံးဝင်သောလုပ်ဆောင်ချက်တစ်ခုဖြစ်သည်။ ၎င်းသည် arrays နှစ်ခုအကြားကွဲပြားခြားနားမှုများကိုနှိုင်းယှဉ်ခြင်းနှင့်ကွဲပြားခြားနားသောအဓိကအမည်နှိုင်းယှဉ်မှုဆိုင်ရာစည်းမျဉ်းများဖြင့်ပြောင်းလဲခြင်းကိုနှိုင်းယှဉ်သည်။ JSON ဒေတာကိုခင်းကျင်းမှုတစ်ခုအဖြစ်ပြောင်းလဲပြီးနောက် JSON ဒေတာအကြားကွဲပြားခြားနားသောနှိုင်းယှဉ်မှုများပြုလုပ်ရန်ဤလုပ်ဆောင်မှုကိုကျွန်ုပ်တို့အသုံးပြုနိုင်သည်။
ဤဆောင်းပါးသည် array_diff_Usassoc function ကိုအသုံးပြုရမည်, JSON အချက်အလက်များကို PHP Array သို့ပထမဆုံးပြောင်းလဲရန်နှင့် array နှစ်ခုအကြားကွဲပြားခြားနားမှုများကိုနှိုင်းယှဉ်ရန်ဤ function ကိုသုံးပါ။
ပထမ ဦး စွာကျွန်ုပ်တို့သည် JSON အချက်အလက်များကို PHP ခင်းကျင်းထဲသို့ပြောင်းလဲရန်လိုအပ်သည်။ PHP တွင်ကျွန်ုပ်တို့သည် JSON_Decode function ကိုဤအလုပ်ကိုပြီးအောင်လုပ်ရန်နှင့် parameterition ကိုသုံးနိုင်သည်။
$jsonData1 = '{"name": "John", "age": 30, "city": "New York"}';
$jsonData2 = '{"name": "Jane", "age": 30, "city": "Los Angeles"}';
$array1 = json_decode($jsonData1, true);
$array2 = json_decode($jsonData2, true);
အထက်ဖော်ပြပါကုဒ်များတွင် JSON Strings $ JSondata1 နှင့် $ JSondata2 ကို သတ်မှတ်ပြီး၎င်းတို့အားဆန့်ကျင်ရာခင်း array 7 array1 နှင့် $ array2 သို့ပြောင်းလဲလိုက်သည်။
ထို့နောက် array နှစ်ခုအကြားကွဲပြားခြားနားမှုများကိုနှိုင်းယှဉ်ရန် Array_Diff_UAAST_UAAST_UAAST_UAASTIOAST function ကိုအသုံးပြုသည်။ array_diff_UsoUct function ၏အင်္ဂါရပ်သည် Array ၏စံနှုန်းများကိုနှိုင်းယှဉ်ရုံသာမကအသုံးပြုသူမှပေးသောနှိုင်းယှဉ်မှုဆိုင်ရာလုပ်ဆောင်ချက်အပေါ် အခြေခံ. ခင်းကျင်းမှု၏အဓိကအကြောင်းရင်းများကိုလည်းနှိုင်းယှဉ်သည်။
array_diff_uassoc(array $array1, array $array2, callable $key_compare_func): array
$ array1 နှင့် $ array2 : နှိုင်းယှဉ်ခံရဖို့လိုအပ်တဲ့ arrys နှစ်ခု။
$ key_Compare_funct : array ၏သော့များကိုနှိုင်းယှဉ်ရန်မည်သို့သတ်မှတ်သည့် callback function ကိုသတ်မှတ်သည်။
ဤဥပမာတွင်ကျွန်ုပ်တို့သည်သော့များကို custom နှိုင်းယှဉ်စည်းမျဉ်းစည်းကမ်းများဖြင့်ခင်းကျင်းခြင်းနှင့်နှိုင်းယှဉ်ရန်နှင့် Arrays အကြားကွဲပြားခြားနားမှုများကိုရှာဖွေလိုသည်။
// စိတ်ကြိုက်နှိုင်းယှဉ်လုပ်ဆောင်ချက်များ,သော့ချက်အမည်များကိုနှိုင်းယှဉ်
function compareKeys($key1, $key2) {
return strcmp($key1, $key2); // အဘိဓာန်အားဖြင့်နှိုင်းယှဉ်
}
// အသုံးပြု array_diff_uassoc arrays နှိုင်းယှဉ်
$diff = array_diff_uassoc($array1, $array2, 'compareKeys');
print_r($diff);
ဤဥပမာတွင်ကျွန်ုပ်တို့သည်ရိုးရှင်းသော comparekeys ကိုအဘိဓာန်နှစ်ခုကိုအဘိဓာန်တွင်ယူရန်နှင့်နှိုင်းယှဉ်ခြင်းအတွက်လွယ်ကူစွာသတ်မှတ်သည်။ ထို့နောက် array_diff_Usassoc function ကို သုံးပါ ။
အထက်ပါ JSON အချက်အလက်များကို နှိုင်း ယှဉ် ကြည့် ပါ ဦး ဆိုပါစို့ ။ "NAME" နှင့် "City" ၏တန်ဖိုးများသည်ကွဲပြားခြားနားသည်။
အထက်ပါကုဒ်ကိုဖွင့်သောအခါ array_diff_Uassoc သည် အောက်ပါရလဒ်များကိုပြန်ပို့လိမ့်မည် (နှိုင်းယှဉ်ခြင်းလုပ်ဆောင်ချက်သည်အဘိဓာန်တွင်အလုပ်လုပ်သည်ဟုယူဆပါလိမ့်မည်):
Array
(
[name] => John
[city] => New York
)
သင်မြင်နိုင်သည့်အတိုင်း output ရလဒ်သည် ဒေါ်လာ array2 မှ ဒေါ်လာ array1 ၏ကွဲပြားခြားနားသောအစိတ်အပိုင်းများပါဝင်သည်။ နှိုင်းယှဉ်မှု function ကိုကျွန်ုပ်တို့ သတ်မှတ်. ခြားနားချက်ကိုအဓိကအမည်များနှင့်နှိုင်းယှဉ်ပါကဖော်ပြသည်။
တခါတရံတွင်ကျွန်ုပ်တို့သည် URLs များပါ 0 င်သော JSON ဒေတာသို့မဟုတ်ခင်းကျင်းမှုများပြုလုပ်ရန်လိုအပ်သည်။ ဥပမာကိုပိုမိုလက်တွေ့ကျစေရန်အတွက် URL အမည်ရှိ Domain Name ကို M66.NET နှင့် M66.net ဖြင့်အစားထိုးနိုင်သည်။
ကျွန်ုပ်တို့တွင် URL ပါ 0 င ် သည့် JSON အချက်အလက်များရှိသည်ဆိုပါစို့ ။
$jsonData = '{"website": "http://www.example.com", "profile": "https://www.example.com/profile"}';
$array = json_decode($jsonData, true);
// ပြန်လည်နေရာချ URL ဒိုမိန်းအမည်
$array = array_map(function($value) {
return is_string($value) ? str_replace('www.example.com', 'm66.net', $value) : $value;
}, $array);
print_r($array);
ဤကုဒ်တွင် domain name www.exampe.com ကို M66.net ရှိ URL ရှိ URL ရှိ URL ရှိ URL တွင်အစားထိုးသည်။