PHP, array_diff_ey () နှင့် array_keys () နှင့် array_keys () ကိုအသုံးပြုလေ့ရှိသည်။ ယခင်အမည်ရှိသည့်အဓိကအမည်ကွဲပြားမှုကိုနှိုင်းယှဉ်ရန်အသုံးပြုသည်။ အချို့သောကိစ္စရပ်များတွင်ကျွန်ုပ်တို့သည်ရှုပ်ထွေးသောခင်းကျင်းဆင်မှုများကိုအကောင်အထည်ဖော်ရန်ဤလုပ်ဆောင်ချက်နှစ်ခုကိုတစ်ချိန်တည်းတွင်သုံးနိုင်သည်။ သို့သော် array_diff_key () နှင့် array_keys () ကို အတူတကွအသုံးပြုသောအခါ, များသောအားဖြင့်အမှားအယွင်းများကိုဖြစ်ပေါ်စေသည်။ ဤဆောင်းပါးသည်သာမန်အမှားအယွင်းများမှတစ်ဆင့်အသေးစိတ်အချက်အလက်များကိုအသေးစိတ်လေ့လာပြီးဖြေရှင်းနည်းများကိုပေးလိမ့်မည်။
ပထမ ဦး စွာဤလုပ်ဆောင်ချက်နှစ်ခု၏အခြေခံအသုံးပြုမှုကိုနားလည်ခြင်းသည်အမှားအယွင်းများကိုမည်သို့ရှောင်ရှားရမည်ကိုပိုမိုနားလည်ရန်ကျွန်ုပ်တို့ကိုပိုမိုနားလည်စေသည်။
array_keys () function: array အတွက်သော့ချက်အမည်များအားလုံးခင်းကျင်းပြန်ပို့။
$array = ["a" => 1, "b" => 2, "c" => 3];
$keys = array_keys($array);
print_r($keys);
// ထုတ်လုပ်ခြင်း:Array ( [0] => a [1] => b [2] => c )
Array_Diff_Key () function: နှစ်ခု array နှစ်ခု၏အဓိကအမည်များကိုနှိုင်းယှဉ်ရန်နှင့်ကွဲပြားခြားနားသောကွဲပြားခြားနားသောအစိတ်အပိုင်းများကိုပြန်ပို့ရန်, ဆိုလိုသည်မှာပထမ ဦး ဆုံးခင်းကျင်း၌ရှိပေမယ့်ဒုတိယခင်းကျင်းအတွက်မဟုတ်ပေမယ့်ဒုတိယခင်းကျင်းအတွက်မဟုတ်ပေမယ့်ဒုတိယခင်းကျင်းအတွက်မဟုတ်ပေမယ့်ဒုတိယခင်းကျင်း။
$array1 = ["a" => 1, "b" => 2, "c" => 3];
$array2 = ["b" => 10, "c" => 20];
$result = array_diff_key($array1, $array2);
print_r($result);
// ထုတ်လုပ်ခြင်း:Array ( [a] => 1 )
အဓိကအမည်ကွဲပြားခြားနားမှုများကိုနှိုင်းယှဉ်သောအခါ developer များက Array ၏သော့အမည်ကိုရယူရန်အတွက် Array_keys () ကို ပထမ ဦး ဆုံးအသုံးပြုမည်။ အဘယ်ကြောင့်ဆိုသော် array_keys () သည် အဓိကအကြောင်းရင်း၏အဓိကအကြောင်းရင်းများမဟုတ်ဘဲသော့ချက်အမည်များကိုပြန်လည်ရောက်ရှိစေသောကြောင့်ဖြစ်သည်။ array_diff_ey () ကိုအသုံးပြုပြီးဤနည်းဖြင့်တိကျသောရလဒ်များကိုဖြစ်ပေါ်စေလိမ့်မည်။
$array1 = ["a" => 1, "b" => 2, "c" => 3];
$array2 = ["b" => 10, "c" => 20];
// မှားလမ်း
$keys1 = array_keys($array1);
$result = array_diff_key($keys1, $array2);
print_r($result);
// ထုတ်လုပ်ခြင်း:Array ( )
ပြ Proble နာခွဲခြမ်းစိတ်ဖြာခြင်း - array1 ၏သော့အမည်ရှိ array ["a", "ခ", "C" ကို "C" "," C "ကို $ keys1 တွင်သိမ်းဆည်းထားသည် ။ Array_Diff_Key () ကို အဓိကအမည်များနှင့်နှိုင်းယှဉ်ထားသည်။ ဤအချိန် arraiff_yiff_ey () တွင် keys1 တွင်သော့ချက်အမည်များကိုနှိုင်းယှဉ်ခြင်းနှင့်နှိုင်းယှဉ်ခြင်းနှင့်ကိုက်ညီခြင်းမရှိပါ။
မှန်ကန်သောနည်းလမ်း - မူရင်းခင်းကျင်းမှုကိုနှိုင်းယှဉ်ရန် array_diff_ey () ကို တိုက်ရိုက်သုံးပါ။
// လုပ်ဖို့မှန်ကန်သောနည်းလမ်း
$result = array_diff_key($array1, $array2);
print_r($result);
// ထုတ်လုပ်ခြင်း:Array ( [a] => 1 )
နောက်ထပ်ဘုံအမှားတစ်ခုမှာတစ်ချိန်တည်းတွင်အခင်းအကျင်းနှစ်ခု၏အဓိကအမည်များနှင့်တန်ဖိုးများအကြားခြားနားချက်ကိုတွက်ချက်ရန်ဖြစ်သည်။ array_diff_ey () သည် သော့ချက်အမည်များကိုသာနှိုင်းယှဉ်မည်, သို့သော်အဓိကတန်ဖိုးများကိုသာနှိုင်းယှဉ်ပါလိမ့်မည်။ ထို့ကြောင့် အကယ်. သင်သည်တစ်ချိန်တည်းတွင်သော့နှင့်တန်ဖိုးများကိုနှိုင်းယှဉ်ရန်လိုအပ်ပါကမမျှော်လင့်သောရလဒ်များရနိုင်သည်။
$array1 = ["a" => 1, "b" => 2, "c" => 3];
$array2 = ["a" => 10, "b" => 2];
$result = array_diff_key($array1, $array2);
print_r($result);
// ထုတ်လုပ်ခြင်း:Array ( [c] => 3 )
ပြ Proble နာခွဲခြမ်းစိတ်ဖြာခြင်း - အထက်ဖော်ပြပါကုဒ်များတွင် array_diff_ey () သည် သော့ချက်အမည်များကိုသာနှိုင်းယှဉ်သည်။ သို့သော် Key ၏သက်ဆိုင်ရာတန်ဖိုးကိုမစဉ်းစားပါ။ ဒေါ်လာ array1 တွင် "a" နှင့် "ခ" နှစ်ခုလုံးသည် ဒေါ်လာ array2 တွင်အဓိကသော့ချက်နှင့်အတူတူပင်ဖြစ်သည်, ထို့ကြောင့်ခြားနားချက်မရှိပါ။ "C" ၏သော့အမည်မှာ ဒေါ်လာ array2 တွင်သော့ချက်အမည်နှင့်ကွဲပြားကြောင်းသာလျှင်၎င်းကိုပြန်ပို့ပါလိမ့်မည်။
ဖြေရှင်းချက် - အကယ်. သော့ချက်အမည်များကိုသင်နှိုင်းယှဉ်ချင်လျှင်, သို့သော်အဓိကတန်ဖိုးများကိုသင်နှိုင်းယှဉ်လိုပါက, array_diff_ey () အစား array_diff_Assoc () ကိုသုံးနိုင်သည်။ ၎င်းသည်အဓိကအမည်များနှင့်တန်ဖိုးများကိုတစ်ချိန်တည်းနှိုင်းယှဉ်နိုင်သည်။
$result = array_diff_assoc($array1, $array2);
print_r($result);
// ထုတ်လုပ်ခြင်း:Array ( [a] => 1 [c] => 3 )
လုပ်ဆောင်ချက်များကိုမှားယွင်းသောအသုံးပြုမှုကိုနားလည်ခြင်း - developer များသည် array_keys () array_diff_yiff_yiff_yiff_yiff_yiff_yiff_key ()) နှင့် array_diff_key () ၏အခန်းကဏ် w ကိုအပြည့်အဝနားမလည်ကြပါ။
သော့နှင့်တန်ဖိုးများအကြားခြားနားချက်ကိုဂရုမစိုက်ပါနှင့် - array_diff_ey () သည် ခင်းကျင်း၏အဓိကအမည်များကိုနှိုင်းယှဉ်မည်မဟုတ်သော်လည်းအဓိကတန်ဖိုးများမပါဝင်ပါ။ ၎င်းကိုလျစ်လျူရှုခြင်းသည် developer များမှယုတ္တိသွေဖည်ခြင်းများကိုဖြစ်ပေါ်စေပြီးမလိုအပ်သောအမှားများကိုဖြစ်ပေါ်စေလိမ့်မည်။
ကွဲပြားခြားနားသောခင်းကျင်းမှုအကြားဖွဲ့စည်းတည်ဆောက်ပုံဆိုင်ရာကွဲပြားခြားနားမှုများ - တစ်ခါတစ်ရံတွင်ခင်းကျင်းမှု၏ဖွဲ့စည်းပုံသည်ရှုပ်ထွေးပြီးရှုထောင့်အမျိုးမျိုးတပ်ဆင်ထားခြင်းသို့မဟုတ်ကွဲပြားသောသော့အမျိုးအစားများ (ဥပမာ strings များနှင့်နံပါတ်များ) ပါ 0 င်နိုင်သည်။ ဤအချိန်တွင်အမှားအယွင်းများကိုရှောင်ရှားရန်သင့်လျော်သောလုပ်ဆောင်ချက်များနှင့်နည်းလမ်းများကို အသုံးပြု. သင်ဂရုပြုသင့်သည်။
Array_Diff_Key () နှင့် array_keys () နှင့် array_keys () သည်အစွမ်းထက်သောခင်းကျင်းသောလုပ်ငန်းလည်ပတ်မှုနှစ်ခုဖြစ်သည်။ သူတို့ဘယ်လိုအလုပ်လုပ်ပုံကိုနားလည်သဘောပေါက်။ ဤလုပ်ဆောင်ချက်များကိုမှန်ကန်စွာအသုံးပြုခြင်းနှင့်၎င်းတို့၏လုပ်ဆောင်ချက်များရှုပ်ထွေးမှုကိုရှောင်ရှားခြင်းအားဖြင့်ကျွန်ုပ်တို့သည် array စစ်ဆင်ရေးများကိုပိုမိုကောင်းမွန်သောကိုင်တွယ်နိုင်ပြီးသာမန်အမှားများကိုရှောင်ရှားနိုင်သည်။ အကယ်. သော့ချက်အမည်များသာမကနှိုင်းယှဉ်လိုပါကမမျှော်လင့်သောရလဒ်များကိုရှောင်ရှားရန် array_diff_assoc () ကို အသုံးပြုရန်ရွေးချယ်နိုင်သည်။