လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> array_diff_ukey () နှင့် array_diff_key () အကြားခြားနားချက်

array_diff_ukey () နှင့် array_diff_key () အကြားခြားနားချက်

M66 2025-05-15

PHP တွင် Array_diff_ukey () နှင့် array_diff_eykey () တွင်တပ်ဆင်ထားသည့်လုပ်ဆောင်ချက်များသည်အရေးပါသော arrays of arrays အမျိုးအစားများကိုနှိုင်းယှဉ်ရန်အသုံးပြုသောလုပ်ဆောင်ချက်များဖြစ်သည်။ ဤလုပ်ဆောင်ချက်နှစ်ခု၏လုပ်ဆောင်ချက်များသည်အလွန်ဆင်တူသော်လည်း၎င်းတို့မည်သို့အသုံးပြုသည်ကိုသိသိသာသာကွဲပြားခြားနားမှုအချို့ရှိသည်။ ဤဆောင်းပါးသည်ဤလုပ်ဆောင်ချက်နှစ်ခုအကြားကွဲပြားခြားနားမှုများကိုအသေးစိတ်ရှင်းပြပြီးအမှန်တကယ်ဖွံ့ဖြိုးတိုးတက်မှုတွင်သူတို့၏လျှောက်လွှာကိုပြသပါမည်။

1 ။ array_diff_ey () function ကို

array_diff_key () function ကိုနှစ်ခုသို့မဟုတ်နှစ်ခုထက်ပိုသော arrays ၏အဓိကအမည်များကိုနှိုင်းယှဉ်ရန်အသုံးပြုသည်။ ဆိုလိုသည်မှာ၎င်းသည်အခြားသော့ချက်များကိုအခြားအမည်များမရှိသေးပါ။

သဒ္ဒါ:

 array_diff_key(array $array1, array $array2, array ...$arrays): array

နမူနာကုဒ်:

 $array1 = [
    'a' => 1,
    'b' => 2,
    'c' => 3
];

$array2 = [
    'b' => 5,
    'd' => 6
];

$result = array_diff_key($array1, $array2);
print_r($result);

ထုတ်လုပ်မှု -

 Array
(
    [a] => 1
    [c] => 3
)

ဤဥပမာတွင် array_diff_key () function သည် array -array 1 တွင်တည်ရှိသည့်သော့ချက်တန်ဖိုးအတွဲတစ်ခုကိုပြန်ပို့သော်လည်း ဒေါ်လာ array2 တွင်မတည်ရှိပါ။

2 ။ array_diff_ukey () function ကို

Array_Diff_ukey () function သည် array_diff_key () နှင့်ဆင်တူသည်။ သို့သော်၎င်းသည်သော့ချက်အမည်များကိုနှိုင်းယှဉ်ရန်အသုံးပြုသူအား callback function ကိုဖြတ်သန်းရန်ခွင့်ပြုသည်။ ၎င်းသည်အသုံးပြုသူများကိုအထူးသဖြင့်စိတ်ကြိုက်သော့ချက်အမည်နှိုင်းယှဉ်မှုဆိုင်ရာစည်းမျဉ်းများလိုအပ်ပါကပိုမိုပြောင်းလွယ်ပြင်လွယ်ရှိသောအသုံးပြုသူများကိုပိုမိုပြောင်းလွယ်ပြင်လွယ်ရှိစေသည်။

သဒ္ဒါ:

 array_diff_ukey(array $array1, array $array2, callable $key_compare_func): array

နမူနာကုဒ်:

 $array1 = [
    'a' => 1,
    'b' => 2,
    'c' => 3
];

$array2 = [
    'A' => 5,
    'B' => 6
];

// Custom Key Name နှိုင်းယှဉ်မှု function ကို
$key_compare_func = function ($key1, $key2) {
    return strtolower($key1) <=> strtolower($key2);
};

$result = array_diff_ukey($array1, $array2, $key_compare_func);
print_r($result);

ထုတ်လုပ်မှု -

 Array
(
    [c] => 3
)

ဤဥပမာတွင် array_diff_ukey () () () သည်အမည်များကိုစိတ်ကြိုက် callback function ကို အခြေခံ. နှိုင်းယှဉ်ထားသည်။ callback function ကိုသော့ချက်အမည်ကိုစာလုံးအသေးအဖြစ်နှိုင်းယှဉ်ရန် strotose ကို အသုံးပြုသည်။ ရလဒ်သည် ဒေါ်လာ array2 တွင်တူညီသောစာလုံးအသေးအမည်ရှိသည့်သော့အမည် C ဒြပ်စင်ကိုသာပြန်လည်ရရှိစေသည်။

3 ။ အဓိကကွဲပြားခြားနားမှုများ

  1. အဓိကအမည်နှိုင်းယှဉ်မှုနည်းလမ်း:

    • Array_Diff_Key () သည် ခင်းကျင်း၏အဓိကအကြောင်းရင်းများကိုနှိုင်းယှဉ်ရန် PHP ၏ပုံမှန်နှိုင်းယှဉ်ချက်နည်းလမ်းကိုတိုက်ရိုက်အသုံးပြုပါ။

    • array_diff_ukey () အသုံးပြုသူများအားအသုံးပြုသူများအားအဓိကအကြောင်းရင်းများအတွက်နှိုင်းယှဉ်စည်းမျဉ်းများကိုစိတ်ကြိုက်ပြုပြင်ရန်ခွင့်ပြုသည်။

  2. ပြောင်းလွယ်ပြင်လွယ်:

    • array_diff_key () သည် ထုံးစံ key name နှိုင်းယှဉ်မှုဆိုင်ရာစည်းမျဉ်းများကိုခွင့်မပြုပါ။

    • array_diff_ukey () သည်ပိုမိုပြောင်းလွယ်ပြင်လွယ်ရှိပြီး callback function မှတဆင့်စိတ်ကြိုက်သော့ချက်အမျိုးအစားနှိုင်းယှဉ်ချက်ကိုသတ်မှတ်နိုင်သည်။

  3. လျှောက်လွှာအခြေအနေများ:

    • array_diff_ey () သည်အဓိကအကြောင်းရင်းများတိုက်ရိုက်တန်းတူဖြစ်သည့်ကိစ္စရပ်များအတွက်သင့်တော်သည်။

    • array_diff_ukey () သည်အရေးကြီးသောအမည်များအတွက်သင့်လျော်သည်။ ဥပမာအားဖြင့်စာလုံးအကြီးများနှင့်နှိုင်းယှဉ်လျှင်အထက်နှင့်အောက်ပိုင်းအမှုအားလျစ်လျူရှုခြင်းကဲ့သို့သောစိတ်ကြိုက်နှိုင်းယှဉ်စည်းမျဉ်းစည်းကမ်းများလိုအပ်သည်။

4 ။ လက်တွေ့ကျသောလျှောက်လွှာ

အမှန်တကယ်ဖွံ့ဖြိုးတိုးတက်မှုတွင် array_diff_key () ကိုပိုမိုအသုံးများသောကြောင့်အသုံးပြုရလွယ်ကူပြီးအကျော်ကြားဆုံးခင်းကျင်းနှိုင်းယှဉ်သည့်အခြေအနေများအတွက်သင့်တော်သည်။ array_diff_ukey () သည်အထူးလိုအပ်ချက်များအတွက်သင့်တော်သည်, ဥပမာသော့အမည်များကိုလျစ်လျူရှုခြင်း,

ဥပမာ - အထက်နှင့်အသေးများကိုလျစ်လျူရှုသောသော့အမည်များကိုနှိုင်းယှဉ်ခြင်း

သင့်တွင်အဘယ်သူ၏အဓိကအမည်များကိုအမှန်တကယ်တူညီကြသည်အရာနှစ်ခုရှိသည်ဆိုပါစို့။ ဤကိစ္စတွင်, သင်သည်၎င်းတို့၏အဓိကအကြောင်းရင်းများကိုနှိုင်းယှဉ်ရန် array_diff_ukey () ကို သုံးနိုင်သည်။

 $array1 = [
    'apple' => 1,
    'banana' => 2
];

$array2 = [
    'APPLE' => 3,
    'BANANA' => 4
];

// အမှုနှိုင်းယှဉ်ခြင်းကိုလျစ်လျူရှုပါ
$key_compare_func = function ($key1, $key2) {
    return strtolower($key1) <=> strtolower($key2);
};

$result = array_diff_ukey($array1, $array2, $key_compare_func);
print_r($result);

ထုတ်လုပ်မှု -

 Array
(
)

ဒီဥပမာမှာ Apple နဲ့ Apple နဲ့ Apple နဲ့ Apple နဲ့ Apple နဲ့ Apple ကထည့်သွင်းစဉ်းစားထားတဲ့အတွက်ရလဒ်ကတော့ array နှစ်ခုရဲ့အဓိကအကြောင်းရင်းတွေမှာမရှိတဲ့နေရာကိုထုတ်ဖော်ပြောဆိုလာတယ်။

5 ။ အကျဉ်းချုပ်

  • array_diff_ey () သည် array key name ကိုနှိုင်းယှဉ်ရန်ရိုးရိုးရှင်းရှင်းနှင့်တိုက်ရိုက်နည်းလမ်းဖြစ်သည်။

  • array_diff_ukey () သည် အထူးနှိုင်းယှဉ်သည့်ယုတ္တိဗေဒလိုအပ်သည့်အခြေအနေများလိုအပ်သည့်အခြေအနေများအတွက်သင့်လျော်သည်။

  • မည်သည့်လုပ်ဆောင်ချက်သည်သင်၏လိုအပ်ချက်များပေါ်တွင်မူတည်သည်။ အကယ်. သင်သည်တိုက်ရိုက်သော့ချက်အမည်များ၏တိုက်ရိုက်တန်းတူညီမျှမှုကိုနှိုင်းယှဉ်ရန်လိုပါက array_diff_key () သည်လုံလောက်သည်။ အကယ်. သင်ပိုမိုရှုပ်ထွေးသောနှိုင်းယှဉ်မှုများပိုမိုလိုအပ်ပါက array_diff_ukey () သည် ပိုမိုကောင်းမွန်သောရွေးချယ်မှုဖြစ်လိမ့်မည်။