PHP တွင် array_diff_ukey function ကို 2 ခု၏အဓိကအမည်များကိုနှိုင်းယှဉ်ရန်နှင့်ဒုတိယခင်းကျင်း၏အဓိကအကြောင်းရင်းများနှင့်ကွဲပြားခြားနားသောပထမ ဦး ဆုံးခင်းကျင်းသောအပိုင်းများကိုပြန်ပို့ရန်အသုံးပြုသည်။ ပရိုဆက်ဆာခလုတ်အမည်များကိုလုပ်ဆောင်သောအခါသော့ချက်အမည်များကိုနှိုင်းယှဉ်ရန်ဤလုပ်ဆောင်ချက်သည်အသုံးပြုသူသတ်မှတ်ထားသော callback function ကိုအသုံးပြုသည်။ developer အတော်များများသည်ဤလုပ်ဆောင်မှုကိုအသုံးပြုသောအခါဤ function ကိုအသုံးပြုသောအခါအလွန်အရေးကြီးသောပြ issue နာကိုလျစ်လျူရှုလေ့ရှိသည်။
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 ကိုအသုံးပြုသောအခါ, သော့ချက်အမည်၏အဖြစ်ကိုထည့်သွင်းစဉ်းစားသည်။
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 သည်ဖြစ်ရပ်မှန်နှင့်မကိုက်ညီသောနှိုင်းယှဉ်ချက်များကိုမျှော်လင့်ပါက,
ဖြစ်ရပ်ရှေ့နောက်မညီမှုပြ 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
)
Array_Diff_ukey function ကိုအသုံးပြုသောအခါ developer များကအဓိကအမည်များကိုအာရုံစိုက်ရမည်။ အကယ်. ဖြစ်ရပ်ကိုက်ညီမှုကိုစနစ်တကျကိုင်တွယ်ခြင်းမရှိပါကမမျှော်လင့်သောအမှားအယွင်းများနှင့်ကိုက်ညီမှုမရှိသောအပြုအမူများဖြစ်ပေါ်နိုင်သည်။ ထို့ကြောင့်စိတ်ကြိုက်နှိုင်းယှဉ်လုပ်ဆောင်မှုများကိုရေးသားသည့်အခါ, အကယ်. သင်သည်ကိစ္စနှင့်မကိုက်ညီသောနှိုင်းယှဉ်မှုကိုပြုလုပ်လိုပါကသော့အမည်ရှိအမှုအားပေါင်းစည်းရန်နှိုင်းယှဉ်ခြင်း function တွင် strtolower သို့မဟုတ် strutoupper ကို သုံးနိုင်သည်။
ဖွံ့ဖြိုးတိုးတက်မှုကာလအတွင်းကိုက်ညီမှုမရှိသောကိစ္စရပ်များကြောင့်ဖြစ်ပေါ်လာသောပြ problems နာများကိုရှောင်ရှားနိုင်သည်။