PHP တွင် Array_Diff_AssoC () သည်အလွန်အသုံးဝင်သောလုပ်ဆောင်ချက်တစ်ခုဖြစ်သည်။ ၎င်းသည်အရေးယူခြင်းနှစ်ခုနှင့်နှိုင်းယှဉ်လျှင် elements အားလုံးကိုပထမခင်းကျင်းမှုနှင့်အဓိကတန်ဖိုးနှင့်အဓိကတန်ဖိုးကိုထိန်းသိမ်းထားသည်။ သို့သော်တစ်ခါတစ်ရံရလဒ်သည် array_diff_assoc () ကို သုံးသောအခါရလဒ်သည်သင်မျှော်လင့်ထားသည့်အရာမဟုတ်ကြောင်းသင်တွေ့ရှိနိုင်သည်။ ဤဆောင်းပါးသည်ဤပြ problem နာ၏ဘုံအကြောင်းများကိုရှင်းပြပြီးပြ the နာကိုဖြေရှင်းရန်ကူညီပေးပါမည်။
Array_Diff_AssoC () ၏ function သည် incrays နှစ်ခုနှင့်တန်ဖိုးများနှင့်တန်ဖိုးများကိုဒုတိယခင်းကျင်းမှုနှင့်ကွဲပြားခြားနားသောပထမနေရာတွင်မတူသော elements များနှင့်နှိုင်းယှဉ်ရန်ဖြစ်သည်။ ၎င်း၏ function ရှေ့ပြေးပုံစံအောက်ပါအတိုင်းဖြစ်သည် -
array_diff_assoc(array $array1, array $array2): array
ဒီ function က $ array1 နှင့် $ array2 နှိုင်းယှဉ်ပါလိမ့်မယ်, $ array ရှိ elements ၏သော့နှင့်တန်ဖိုးကို $ array 2 နှင့်ကွဲပြားလျှင်ဤ element တွေကိုပြန်ပို့လိမ့်မည်။
$array1 = [
"a" => "apple",
"b" => "banana",
"c" => "cherry"
];
$array2 = [
"a" => "apple",
"b" => "berry",
"d" => "date"
];
$result = array_diff_assoc($array1, $array2);
print_r($result);
ရလဒ်ရလဒ် -
Array
(
[b] => banana
[c] => cherry
)
ဤဥပမာတွင် array_diff_assoc () သည် ဒေါ်လာ array1 ဖြင့် Elements များကိုပြန်လည်ပေးပြီးသော့ ခ နှင့် C နှင့်တန်ဖိုးများနှင့်ကွဲပြားခြားနားသည် ။
မတူကွဲပြားသောသော့နှင့်ခင်းကျင်းမှုတန်ဖိုးများသည်မျှော်လင့်ချက်များနှင့်မကိုက်ညီစေရန်ရလဒ်ကိုဖြစ်ပေါ်စေသည်
Array_diff_assoc () array ၏တန်ဖိုးများကိုနှိုင်းယှဉ်ရုံသာမကသော့များကိုလည်းနှိုင်းယှဉ်သည်။ အကယ်. array နှစ်ခု၏သော့များသည်အတူတူပင်ဖြစ်သည်။ သို့သော်တန်ဖိုးများသည်ကွဲပြားခြားနားသည်ဆိုပါက၎င်းဒြပ်စင်များသည်ကွဲပြားခြားနားသည်ဟုယူဆရလိမ့်မည်။ ထို့ကြောင့်သင်သည်တန်ဖိုးများကိုခြားနားချက်ကိုသာဂရုပြုပါက, တန်ဖိုးများကိုနှိုင်းယှဉ်ကြည့်ပါ ။
ဥပမာအားဖြင့်:
$array1 = ["a" => "apple", "b" => "banana"];
$array2 = ["a" => "apple", "b" => "berry"];
$result = array_diff_assoc($array1, $array2);
print_r($result);
ရလဒ်ရလဒ် -
Array
(
[b] => banana
)
B သည်ကွဲပြားသော်လည်းသော့ချက်အမည်ကြောင့်၎င်းကိုကွဲပြားခြားနားသောဒြပ်စင်အဖြစ်သတ်မှတ်သည်ကိုသင်တွေ့နိုင်သည်။
Array တွင်အသိုက် Array သို့မဟုတ်အရာဝတ်ထုများပါဝင်သည် အကယ်. သင် array_diff_assoc () ကို သုံးပါကခင်းကျင်းမှုတွင်အသိုက် array သို့မဟုတ်အရာဝတ်ထုများပါ 0 င်သည်။ အကယ်. ဤအသိုက်ဒြပ်စင်များကိုမှန်ကန်စွာလုပ်ဆောင်ခြင်းသို့မဟုတ်မျှော်လင့်ထားသည့်အတိုင်းနှိုင်းယှဉ်ခြင်းမပြုပါကမမျှော်လင့်သောရလဒ်များနှင့်သင်ကြုံတွေ့ရနိုင်သည်။ ဤကိစ္စတွင်အသိုက် Array သို့မဟုတ်အရာဝတ်ထုများ၏ဖွဲ့စည်းပုံကို debug လုပ်ရန်အလွန်အရေးကြီးသည်။
ကွဲပြားခြားနားသောဒြပ်စင်အမျိုးအစားများ
PHP သည်ရိုက်ထားသောစာတစ်စောင်ဖြစ်ပြီး, Array_diff_assoC () တန်ဖိုးများနှင့်အမျိုးအစားများကိုတန်ဖိုးများနှင့်နှိုင်းယှဉ်သည်။ အကယ်. array နှစ်ခုဖြင့်တူညီသောအနေအထားတွင်တူညီသောအနေအထားကွဲပြားခြားနားလျှင်, function ကိုသူတို့တန်ဖိုးများအတူတူပင်ကြည့်ရင်တောင်သူတို့ကွဲပြားခြားနားစဉ်းစားလိမ့်မယ်။
ဥပမာအားဖြင့်:
$array1 = [1 => "10", 2 => "20"];
$array2 = [1 => 10, 2 => 20];
$result = array_diff_assoc($array1, $array2);
print_r($result);
ရလဒ်ရလဒ် -
Array
(
[1] => 10
[2] => 20
)
ဤနေရာတွင် "10" နှင့် 10 ကွဲပြားခြားနားသည်, တစ်ခုမှာ string တစ်ခုဖြစ်ပြီးတစ်ခုမှာတစ်ခုမှာကိန်းတစ်ခုဖြစ်ပြီးအခြားတစ်ခုမှာ ကိန်းဂဏန်း ဖြစ်သည်။
array အတွက် element တွေကို၏အမိန့် <br> <br> Array_diff_assoC () တန်ဖိုးများကိုနှိုင်းယှဉ်ရုံသာမကအဓိကအကြောင်းရင်းများပါ 0 င်သည်။ အကယ်. သင်သည် array_diff_assoc () ကို array နှစ်ခုကိုဖြတ်သန်းသွားပါက၎င်းတို့၏အကြောင်းအရာသည်အတူတူပင်ဖြစ်သော်လည်းကွဲပြားခြားနားသောအမိန့်များနှင့်မတူကွဲပြားသောအမိန့်ကိုထည့်သွင်းစဉ်းစားလိမ့်မည်။
$array1 = [1 => "apple", 2 => "banana"];
$array2 = [2 => "banana", 1 => "apple"];
$result = array_diff_assoc($array1, $array2);
print_r($result);
ရလဒ်ရလဒ် -
Array
(
[1] => apple
[2] => banana
)
ကွဲပြားခြားနားသော array အမိန့်ကြောင့်ရလဒ်ရလဒ် array1 ၏ elements အားလုံးကိုပြန်လည်ရရှိခဲ့သည်။
Array ၏သော့များသည် 0 မှစတင်ခြင်းမပြုပါ အချို့ဖြစ်ရပ်များတွင်ခင်းကျင်း၏သော့များသည် 0 တွင်မစတင်နိုင်ပါ။ ၎င်းသည် array_diff_assoc () ၏ရလဒ်ကိုအကျိုးသက်ရောက်လိမ့်မည်။ Array ၏သော့များသည်မည်သည့်သော့ချက်ဖြစ်သည်ကိုသင်နားလည်ပါ။
အကယ်. သင်ခင်းကျင်းမှု၏သော့များကိုဂရုမစိုက်ပါကသော့များတွင်ကွဲပြားခြားနားမှုများကိုစဉ်းစားခြင်းမပြုဘဲတန်ဖိုးများကိုနှိုင်းယှဉ်ရန်လိုအပ်သည် ။
ခင်းကျင်းမှု၏တန်ဖိုးများနှင့်အဓိကအမျိုးအစားများကိုတသမတ်တည်းရှိပြီးအမျိုးအစားမတိုက်ဆိုင်မှုကိုရှောင်ရှားရန်သေချာစေပါ။
အကယ်. ခင်းကျင်းမှုတွင်အသိုက် array များသို့မဟုတ်အရာဝတ်ထုများရှိပါက၎င်းတို့အားမျှော်လင့်ထားသည့်အတိုင်းသို့မဟုတ် debug ကိုရယူခြင်းရှိမရှိစစ်ဆေးပါ။
array_diff_assoc () သည်အစွမ်းထက်သောလုပ်ဆောင်မှုတစ်ခုဖြစ်သည်။ သို့သော်၎င်း၏နှိုင်းယှဉ်ခြင်းယုတ္တိဗေဒသည်သော့ချက်များနှင့်တန်ဖိုးများကိုတင်းကြပ်စွာကိုက်ညီမှုအပေါ်အခြေခံသည်။ ဒါကြောင့်သင်မျှော်လင့်ထားသည့်ရလဒ်များကိုအသုံးမပြုလျှင်၎င်းကိုအသုံးပြုသောအခါများသောအားဖြင့်သော့ချက်များ, တန်ဖိုးများသို့မဟုတ်ခင်းကျင်းမှုဆိုင်ရာကွဲပြားခြားနားမှုများကြောင့်ဖြစ်သည်။ ဤလုပ်ဆောင်မှုသည်မည်သို့အလုပ်လုပ်သည်ကိုနားလည်ခြင်းနှင့်ခင်းကျင်းမှု၏သော့နှင့်တန်ဖိုးများသည်မျှော်လင့်ချက်များနှင့်အညီဖြစ်ကြောင်းသေချာစေရန်အများအားဖြင့်ပြ problems နာများကိုရှောင်ရှားနိုင်သည်။