လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> ဘာကြောင့်မှားယွင်းတဲ့ callback function parameters တွေကိုမှားယွင်းတဲ့အမိန့်သည် array_diff_ukey ကိုဖြစ်ပေါ်စေရသနည်း။

ဘာကြောင့်မှားယွင်းတဲ့ callback function parameters တွေကိုမှားယွင်းတဲ့အမိန့်သည် array_diff_ukey ကိုဖြစ်ပေါ်စေရသနည်း။

M66 2025-06-13

PHP တွင် Array_diff_ukey () သည်သော့နှစ်ခုသို့မဟုတ်နှစ်ခုထက်ပိုသောနေရာများအတွက်သော့များကိုနှိုင်းယှဉ်ပြီးအခြားသော့ချက်များနှင့်မတည်ရှိသည့်သော့အစိတ်အပိုင်းများကိုပြန်ပို့ပေးသော function တစ်ခုဖြစ်သည်။ ဤလုပ်ဆောင်ချက်သည်စိတ်ကြိုက်နှိုင်းယှဉ်မှုလုပ်ငန်းများလုပ်ဆောင်ရန်စိတ်ကြိုက်ခေါ်ဆိုမှု function ကိုခွင့်ပြုသည်။ သို့သော် callback function ကို parameter parameter အမိန့်သည်မမှန်ကန်ပါကနှိုင်းယှဉ်မှုရလဒ်များသည်မျှော်လင့်ချက်များနှင့်မကိုက်ညီပါစေနိုင်သည်။

Array_diff_ukey ၏အခြေခံကျသောအသုံးပြုမှု ()

Array_diff_ukey () function ကိုအသုံးပြုသည်။ အခြေခံ syntax သည်အောက်ပါအတိုင်းဖြစ်သည် -

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

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

  • $ key_compare_funct : သော့နှစ်ခုကိုနှိုင်းယှဉ်စိတ်ကျသင့်သော callback function ကို။

ဥပမာအားဖြင့်, arry နှစ်ခုရှိပါတယ်ဆိုပါစို့:

 $array1 = [
    'apple' => 10,
    'banana' => 20,
    'cherry' => 30,
];

$array2 = [
    'apple' => 10,
    'cherry' => 30,
    'date' => 40,
];

သူတို့ရဲ့သော့တွေကိုနှိုင်းယှဉ်ဖို့ array_diff_ukey () ကို သုံးနိုင်တယ်။

 $result = array_diff_ukey($array1, $array2, 'my_comparator');

callback function ကို၏အခန်းကဏ်။

Custom Callback function My_comparator သည် ၎င်းတို့နှင့်အတူတူမဆိုဆုံးဖြတ်ရန်သော့နှစ်ခုကိုနှိုင်းယှဉ်ရန်လိုအပ်သည်။ များသောအားဖြင့်ကျွန်ုပ်တို့သည်ဤကဲ့သို့သော callback function ကိုရေးပါလိမ့်မည်။

 function my_comparator($key1, $key2) {
    return strcmp($key1, $key2); // သော့နှစ်ခုကိုနှိုင်းယှဉ်ကြည့်ပါ
}

ဒီ function ကိုပြန်:

  • 0 : သော့နှစ်ခုအတူတူပင်လျှင်။

  • 0 ထက်လျော့နည်း: $ key1 $ key2 ထက်နည်းလျှင်။

  • 0 ထက်ကြီးသည် - $ key1 သည် ဒေါ်လာထက် ကြီးလျှင်။

မှားယွင်းသော parameter သည်အမိန့်ရှိပါကအဘယ်ပြ problems နာများဖြစ်ပေါ်စေမည်နည်း။

array_diff_ukey () တွင် callback function ၏ parameter သည်အလွန်အရေးကြီးသည်။ Callback function ၏လက်မှတ်သည် function ($ key1, $ key2) , $ Key1 သည်ပထမနေရာမှသော့ချက်နှင့် $ key2 သည်ဒုတိယခင်းကျင်းမှု၏သော့ချက်ဖြစ်သည်။ အကယ်. ကျွန်ုပ်တို့သည် parameters တွေကိုအမိန့်ကိုပြောင်းပြန်ဖြစ်လျှင်, ဥပမာ function ကို ($ key2, $ key1) , နှိုင်းယှဉ်နေစဉ်အတွင်းနှိုင်းယှဉ်နိုင်သည့်အစဉ်အဆက်ကနှိုင်းယှဉ်လျှင်ကိုက်ညီမှုမရှိပါ။

ဥပမာအားဖြင့်:

မှားယွင်းသော functack functback ၏အမိန့်ကိုလုပ်ပြီးပြောင်းလဲပစ်လိုက်ပြီဆိုပါစို့။

 function my_comparator($key2, $key1) {
    return strcmp($key2, $key1);
}

ဤအကျိုးဆက်သည်နှိုင်းယှဉ်မှုများအစဉ်အလာကိုပြောင်းပြန်ဖြစ်သည်။ Array_diff_ukey () function ကိုအတွင်းရှိဤမှားယွင်းသော callback function ကိုခေါ်ဆိုသောအခါ Array ၏သော့များကိုမှားယွင်းစွာနှိုင်းယှဉ်ပါလိမ့်မည်။ ရလဒ်အနေဖြင့်အချို့သောသော့များသည်တူညီသောသို့မဟုတ်ကွဲပြားခြားနားသင့်ကြောင်းမှားယွင်းစွာယူဆနိုင်သည်။

ဥပမာအားဖြင့်, array_diff_ukey () function ကို၏ရည်ရွယ်ချက်မှာ $ array1 ရှိသော့များကိုရှာဖွေပါက ဒေါ်လာ array တွင်မပါ 0 င်ပါကမမှန်ကန်သော callback သည်မှားယွင်းစွာဖယ်ရှားသင့်သောသော့များကိုဖြစ်စေနိုင်သည်။

Parameter သည်အမိန့်ကိုမည်သို့ပြင်ရမည်နည်း။

ဒါကိုရှောင်ရှားရန်ကျွန်ုပ်တို့သည် callback function ကို parametersters မှန်ကန်သောအမိန့်ကိုသေချာစေရန်လိုအပ်သည်။ မှန်ကန်သော callback function ကိုဤကဲ့သို့သောရေးသားသင့်သည် -

 function my_comparator($key1, $key2) {
    return strcmp($key1, $key2); // သော့နှစ်ခုကိုနှိုင်းယှဉ်ကြည့်ပါ
}

$ key1 သည် ပထမဆုံးခင်းကျင်းမှုမှရရှိမည်နှင့် $ key2 သည်မှန်ကန်သောနှိုင်းယှဉ်မှုယုတ္တိဗေဒကိုသေချာစေသည်။

အကျဉ်းချုပ်

Array_Diff_ukey () function ကိုအသုံးပြုသောအခါ callback function ၏ parameter သည်အလွန်အရေးကြီးသည်။ မမှန်ကန်သော parameter သည်အမှာစာသည်ရလဒ်များကိုပြောင်းလဲခြင်း, ထို့ကြောင့် callback လုပ်ဆောင်ချက်များကိုရေးသည့်အခါ function ကိုအသုံးပြုရန်သေချာစေရန်သေချာစေရန် parameters တွေကိုအမိန့်ကိုသေချာစစ်ဆေးပါ။