လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> array key names ၏ဖြစ်ရပ်ကိုက်ညီမှုနှင့်အတူကိုင်တွယ်ရန်မေ့လျော့

array key names ၏ဖြစ်ရပ်ကိုက်ညီမှုနှင့်အတူကိုင်တွယ်ရန်မေ့လျော့

M66 2025-05-15

PHP တွင် array_diff_ukey function ကို 2 ခု၏အဓိကအမည်များကိုနှိုင်းယှဉ်ရန်နှင့်ဒုတိယခင်းကျင်း၏အဓိကအကြောင်းရင်းများနှင့်ကွဲပြားခြားနားသောပထမ ဦး ဆုံးခင်းကျင်းသောအပိုင်းများကိုပြန်ပို့ရန်အသုံးပြုသည်။ ပရိုဆက်ဆာခလုတ်အမည်များကိုလုပ်ဆောင်သောအခါသော့ချက်အမည်များကိုနှိုင်းယှဉ်ရန်ဤလုပ်ဆောင်ချက်သည်အသုံးပြုသူသတ်မှတ်ထားသော callback function ကိုအသုံးပြုသည်။ developer အတော်များများသည်ဤလုပ်ဆောင်မှုကိုအသုံးပြုသောအခါဤ function ကိုအသုံးပြုသောအခါအလွန်အရေးကြီးသောပြ issue နာကိုလျစ်လျူရှုလေ့ရှိသည်။

1 ။ array_diff_ukey function ကိုအခြေခံအသုံးပြုခြင်း

Array_diff_ukey function သည် parameters သုံးခုကိုလက်ခံသည်။

 array_diff_ukey(array $array1, array $array2, callable $key_compare_func): array
  • $ array1 : ပထမ ဦး ဆုံးခင်းကျင်း

  • $ array2 : ဒုတိယခင်းကျင်း

  • $ key_compare_funct : array key နှစ်ခုကိုနှစ်ချက်နှိပ်ခြင်းနှင့်နှိုင်းယှဉ်သော callback function ကို။ callback function ကို parameters များအဖြစ်အဓိကအကြောင်းအမည်နှစ်ခုကိုလက်ခံသင့်သည်

ဥပမာအားဖြင့်, အောက်ပါကုဒ်သည် array_diff_ukey function ကိုမည်သို့အသုံးပြုရမည်ကိုပြသသည်။

 $array1 = [
    "a" => "apple",
    "b" => "banana",
    "c" => "cherry"
];

$array2 = [
    "A" => "apple",
    "B" => "banana"
];

$result = array_diff_ukey($array1, $array2, "strnatcmp");
print_r($result);

ဤဥပမာတွင် array_diff_ukey သည် ဒေါ်လာ array1 နှင့် $ array2 ၏အဓိကအကြောင်းရင်းများကိုနှိုင်းယှဉ်ထားပြီးဒုတိယခင်းကျင်းမှုတွင်မပေါ်ပါ။ strnatcmp နှိုင်းယှဉ်မှု function ကိုအသုံးပြုသောအခါ, သော့ချက်အမည်၏အဖြစ်ကိုထည့်သွင်းစဉ်းစားသည်။

2 ။ စာလုံးအကြီးနှင့်နှိုင်းယှဉ်ခြင်းပြ problem နာ

array_diff_ukey function သည်အဓိကအကြောင်းရင်းနှိုင်းယှဉ်မှုများကိုစိတ်ကြိုက်နှိုင်းယှဉ်လုပ်ဆောင်မှုများမှတစ်ဆင့် key name နှိုင်းယှဉ်မှုကိုကိုင်တွယ်နိုင်သည်။

ဥပမာအားဖြင့်အောက်ပါကုဒ်ကိုစဉ်းစားပါ။

 $array1 = [
    "foo" => "bar",
    "Bar" => "baz"
];

$array2 = [
    "FOO" => "bar"
];

$result = array_diff_ukey($array1, $array2, "strnatcmp");
print_r($result);

အထက်ပါဥပမာတွင် strnatcmp သည်စာလုံးအကြီးအသေးအရေးကြီးသည့်အတွက် array_diff_ukey သည် "foo" နှင့် "foo" ကိုမတူကွဲပြားသောအမည်များကိုထည့်သွင်းစဉ်းစားလိမ့်မည်။ ဒါကြောင့် output ကိုဖြစ်လိမ့်မည်:

 Array
(
    [foo] => bar
    [Bar] => baz
)

ဤအချက်သည် array_diff_ukey function ကိုပုံပျက်ခြင်းဖြင့်မည်သို့ပြုမူသည်ကိုပြသည်။ ၎င်းသည်သော့ချက်အမည်အမှု၏ရှေ့နောက်ညီညွတ်မှုကိုလျစ်လျူရှုထားသည်။ အကယ်. developer သည်ဖြစ်ရပ်မှန်နှင့်မကိုက်ညီသောနှိုင်းယှဉ်ချက်များကိုမျှော်လင့်ပါက,

3 ။ အမှုမရှိပါ 0 င်မှုပြ the နာကိုဘယ်လိုဖြေရှင်းမလဲ။

ဖြစ်ရပ်ရှေ့နောက်မညီမှုပြ problem နာကိုဖြေရှင်းရန် developer များကကိစ္စတွင်မခံစားနိုင်သောနှိုင်းယှဉ်မှု function ကိုရေးနိုင်သည်။ ဥပမာအားဖြင့်, သင်သည် strtolower သို့မဟုတ် strutoupper ကို စာလုံးအသေးသို့မဟုတ်စာလုံးအကြီးနှင့်နှိုင်းယှဉ်ခြင်းအတွက်သုံးနိုင်သည်။

 $array1 = [
    "foo" => "bar",
    "Bar" => "baz"
];

$array2 = [
    "FOO" => "bar"
];

$result = array_diff_ukey($array1, $array2, function($key1, $key2) {
    return strcmp(strtolower($key1), strtolower($key2));
});

print_r($result);

ဤနည်းအားဖြင့် array_diff_ukey သည် စာလုံးအကြီးအသေးအရေးမကြီးတော့ပါ။

 Array
(
    [Bar] => baz
)

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

Array_Diff_ukey function ကိုအသုံးပြုသောအခါ developer များကအဓိကအမည်များကိုအာရုံစိုက်ရမည်။ အကယ်. ဖြစ်ရပ်ကိုက်ညီမှုကိုစနစ်တကျကိုင်တွယ်ခြင်းမရှိပါကမမျှော်လင့်သောအမှားအယွင်းများနှင့်ကိုက်ညီမှုမရှိသောအပြုအမူများဖြစ်ပေါ်နိုင်သည်။ ထို့ကြောင့်စိတ်ကြိုက်နှိုင်းယှဉ်လုပ်ဆောင်မှုများကိုရေးသားသည့်အခါ, အကယ်. သင်သည်ကိစ္စနှင့်မကိုက်ညီသောနှိုင်းယှဉ်မှုကိုပြုလုပ်လိုပါကသော့အမည်ရှိအမှုအားပေါင်းစည်းရန်နှိုင်းယှဉ်ခြင်း function တွင် strtolower သို့မဟုတ် strutoupper ကို သုံးနိုင်သည်။

ဖွံ့ဖြိုးတိုးတက်မှုကာလအတွင်းကိုက်ညီမှုမရှိသောကိစ္စရပ်များကြောင့်ဖြစ်ပေါ်လာသောပြ problems နာများကိုရှောင်ရှားနိုင်သည်။