PHP တွင် Array_diff_ukey () သည်သော့နှစ်ခုသို့မဟုတ်နှစ်ခုထက်ပိုသောနေရာများအတွက်သော့များကိုနှိုင်းယှဉ်ပြီးအခြားသော့ချက်များနှင့်မတည်ရှိသည့်သော့အစိတ်အပိုင်းများကိုပြန်ပို့ပေးသော function တစ်ခုဖြစ်သည်။ ဤလုပ်ဆောင်ချက်သည်စိတ်ကြိုက်နှိုင်းယှဉ်မှုလုပ်ငန်းများလုပ်ဆောင်ရန်စိတ်ကြိုက်ခေါ်ဆိုမှု function ကိုခွင့်ပြုသည်။ သို့သော် callback function ကို parameter parameter အမိန့်သည်မမှန်ကန်ပါကနှိုင်းယှဉ်မှုရလဒ်များသည်မျှော်လင့်ချက်များနှင့်မကိုက်ညီပါစေနိုင်သည်။
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');
Custom Callback function My_comparator သည် ၎င်းတို့နှင့်အတူတူမဆိုဆုံးဖြတ်ရန်သော့နှစ်ခုကိုနှိုင်းယှဉ်ရန်လိုအပ်သည်။ များသောအားဖြင့်ကျွန်ုပ်တို့သည်ဤကဲ့သို့သော callback function ကိုရေးပါလိမ့်မည်။
function my_comparator($key1, $key2) {
return strcmp($key1, $key2); // သော့နှစ်ခုကိုနှိုင်းယှဉ်ကြည့်ပါ
}
ဒီ function ကိုပြန်:
0 : သော့နှစ်ခုအတူတူပင်လျှင်။
0 ထက်လျော့နည်း: $ key1 $ key2 ထက်နည်းလျှင်။
0 ထက်ကြီးသည် - $ key1 သည် ဒေါ်လာထက် ကြီးလျှင်။
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 သည်မှားယွင်းစွာဖယ်ရှားသင့်သောသော့များကိုဖြစ်စေနိုင်သည်။
ဒါကိုရှောင်ရှားရန်ကျွန်ုပ်တို့သည် 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 တွေကိုအမိန့်ကိုသေချာစစ်ဆေးပါ။