Array_diff_assoC () PHP တွင်အလွန်အသုံးဝင်သော function တစ်ခုဖြစ်ပြီး array နှစ်ခုနှင့်နှိုင်းယှဉ်ပါကပထမခင်းကျင်းသည့်သော့ချက်အတွဲများပြန်ယူထားသော်လည်းဒုတိယခင်းကျင်းမှုတွင်မဟုတ်ပါ။ အထူးသဖြင့်၎င်းသည်ခင်းကျင်းမှု၏တန်ဖိုးများကိုနှိုင်းယှဉ်ရုံသာမကခင်းပင်း၏သော့များကိုလည်းနှိုင်းယှဉ်နိုင်သည်။ ဤနည်းအားဖြင့် Array_Diff_AssoC () function သည် array_diff () သည်ပိုမိုတိကျသောအမည်များနှင့်အဓိကတန်ဖိုးများအကြားစာပေးစာယူကိုထည့်သွင်းစဉ်းစားသောကြောင့်ဖြစ်သည်။
ဤဆောင်းပါးတွင်ကျွန်ုပ်တို့ array_diff_assoc () လုပ်ဆောင်မှုသည်မည်သို့အလုပ်လုပ်သည်ကိုပိုမိုနားလည်ရန်ဂရပ်ဖစ်နည်းလမ်းများကိုသုံးပါမည်။ ရိုးရှင်းတဲ့ဥပမာတစ်ခုနဲ့စကြစို့နှင့်ဒီ function ကိုတစ်ဆင့်ပြီးတစ်ဆင့်၏အပြုအမူကိုရှင်းပြကြပါစို့။
array_diff_assoc(array $array1, array $array2): array
<?php
$array1 = [
"a" => 1,
"b" => 2,
"c" => 3
];
$array2 = [
"a" => 1,
"b" => 4,
"d" => 5
];
$result = array_diff_assoc($array1, $array2);
print_r($result);
?>
Array
(
[b] => 2
[c] => 3
)
ဤဥပမာတွင် array_diff_assoc () array1 နှင့် array2 ကို နှိုင်းယှဉ်သည်။ တစ်ဆင့်ပြီးတစ်ဆင့်ဘယ်လိုပုံစံလဲဆိုတာကိုဆန်းစစ်ကြည့်ရအောင်။
Key a :
array1 တွင် သော့ချက် ၏တန်ဖိုးများနှင့် array2 နှစ် ဦး စလုံးသည် 1 နှစ် ဦး စလုံးသည်ဤတွင်အဓိကတန်ဖိုးအတွဲများအကြားခြားနားချက်မရှိပါ။
key b :
Array1 တွင် Key B ၏တန်ဖိုးသည် 2 ဖြစ်သည်။ array2 တွင် BIR 2 ၏တန်ဖိုးသည် 4 ဖြစ်သည်။ အဓိကတန်ဖိုးများသည်မကိုက်ညီသောကြောင့် B => 2 သည် array1 အတွက်ထူးခြားသောတန်ဖိုးတွဲတစ်ခုဟုယူဆပြီးရလဒ်တွင်ပေါ်လာသည်။
Key C :
Array1 တွင် Key C ၏တန်ဖိုးသည် 3 ဖြစ်သည်။ array2 တွင်ခလုတ် 2 တွင်သော့ချက်မပါ။ ဒီတော့ C => 3 ဟာ array1 အတွက်အဓိကတန်ဖိုးတွဲဖက်စုံတွဲလို့လည်းယူပြီးရလဒ်မှာပေါ်လာတယ်။
ထို့ကြောင့် array_diff_assoc () () တွင် B => 2 နှင့် C => 3 ပါ 0 င်သည်။
array_diff_assoc () ၏အလုပ်လုပ်နိယာမ () ကိုပိုမိုအလိုလိုနားလည်နိုင်ရန်အတွက်ကျွန်ုပ်တို့သည်သရုပ်ဖော်ပုံနှစ်ခုနှင့်နှိုင်းယှဉ်ခြင်းလုပ်ငန်းစဉ်ကိုသရုပ်ဖော်ပုံများဖြင့်ပြသနိုင်သည်။
နှစ်ခု arrays နှစ်ခုရှိပါတယ်ဆိုပါစို့:
Array1 : ["a" = >> 1, "b" => 2 >> >>> 3]
Array2 : ["a" = >> 1, "B" => 4, "D" => 5]
အောက်ပါပုံများမှတဆင့်သူတို့၏ကွဲပြားခြားနားမှုများကိုကျွန်ုပ်တို့ရှင်းရှင်းလင်းလင်းမြင်နိုင်သည်။
array1: [ "a" => 1, "b" => 2, "c" => 3 ]
↑ ↑
array2: [ "a" => 1, "b" => 4, "d" => 5 ]
↑
Key A : အတူတူ (သော့နှင့်တန်ဖိုးပွဲစဉ်နှစ်ခုလုံး), ဒါကြောင့်ရလဒ်မှာမဟုတ်ပါဘူး။
အဓိက B : သော့များသည်အတူတူပင်ဖြစ်သော်လည်းတန်ဖိုးများသည်ကွဲပြားခြားနားသည်။ ခြားနားချက်ကို array 1 အတွက်ထူးခြားစဉ်းစားသည်။ ဒါကြောင့်ရလဒ်ပေါ်လာလိမ့်မယ်။
Key C : array2 တွင်သော့ဂ န့် မရှိပါ။ C => 3 ကို array1 အတွက်ထူးခြားစဉ်းစားသည်။ ဒါကြောင့်ရလဒ်လည်းပေါ်လာလိမ့်မယ်။
Result: [ "b" => 2, "c" => 3 ]
Array_diff_assoC () array များကိုတန်ဖိုးများဖြင့်နှိုင်းယှဉ်ရုံသာမကထည့်သွင်းထားသောသော့ကိုက်ညီမှုကိုလည်းထည့်သွင်းထားသည်။ အကယ်. Array နှစ်ခုတွင်တူညီသောသော့များရှိသော်လည်းကွဲပြားခြားနားသောတန်ဖိုးများရှိလျှင်, array_diff_assoc () က ၎င်းကိုခြားနားချက်အဖြစ်ရယူသည်။
array2 တွင်သော့မရှိသေးပါ (ဥပမာ - )) တွင် (ဥပမာ) ) တွင် (ဥပမာ -) တွင်ထည့်ပါ။
ဒေတာကွဲပြားခြားနားမှုများကိုစစ်ထုတ်ခြင်းဆိုင်ရာ အချက်အလက်များကိုလုပ်ဆောင်သောအခါ array_diff_assoc () ကို အခြားတစ်ခုမှကွဲပြားခြားနားမှုများကိုအခြားတစ်ခုမှကွဲပြားခြားနားမှုများကိုရှာဖွေရန်အသုံးပြုနိုင်သည်။
ပြုပြင်ခြင်း configuration arrays များ - configuration arrays နှစ်ခုကိုနှိုင်းယှဉ်ရန်လိုပါကကွဲပြားခြားနားသော configuration items နှင့်နှိုင်းယှဉ်လျှင် array_diff_assoc () သည်အလွန်ကောင်းသောရွေးချယ်မှုဖြစ်သည်။
ဒေတာ deeduplication : သင်ဒေတာအစုနှစ်ခုရှိပါကဒေတာအစု၏ထူးခြားသောအစိတ်အပိုင်းတစ်ခုကိုသင်ရှာဖွေလိုပါက၎င်းကိုအောင်မြင်ရန် ArraiF_Diff_AssoC () ကို သုံးနိုင်သည်။
Array_diff_assoC () သည် PHP တွင်အလွန်လက်တွေ့ကျသောလုပ်ဆောင်ချက်တစ်ခုဖြစ်သည်။ array1 နှင့် array2 ၏ဥပမာများကိုနှိုင်းယှဉ်ခြင်းအားဖြင့်၎င်းသည်သော့ချက်များနှင့်တန်ဖိုးများကိုတစ်ပြိုင်နက်နှိုင်းယှဉ်ခြင်းအားဖြင့်ခြားနားချက်ကိုတရားစီရင်သည်ကိုကျွန်ုပ်တို့နားလည်ပါသည်။
သင့်တွင်မေးခွန်းများရှိပါကသို့မဟုတ် PHP ရှိအခြားခင်းကျင်းမှုများကိုပိုမိုနက်ရှိုင်းစွာနားလည်နိုင်ပါကကျွန်ုပ်နှင့်ဆွေးနွေးရန်အခမဲ့ဖြစ်သည်။