လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> PHP built-in function များကို callback နှိုင်းယှဉ်ချက်ခလုတ်အဖြစ်အသုံးပြုပါ

PHP built-in function များကို callback နှိုင်းယှဉ်ချက်ခလုတ်အဖြစ်အသုံးပြုပါ

M66 2025-05-17

PHP တွင် array_diff_ukey function ကို arrays နှစ်ခု၏သော့များကိုနှိုင်းယှဉ်ရန်နှင့်ပထမခင်းကျင်းရေးတွင်ဒုတိယခင်းကျင်းမှုတွင်မတည်ရှိသည့်သော့ချက်နှင့်သက်ဆိုင်သောသော့ချက်တန်ဖိုးအတွဲများကိုပြန်ပို့နိုင်သည်။ Array_diff_ukey သည် သော့များကိုမည်သို့နှိုင်းယှဉ်ရမည်ကိုဆုံးဖြတ်သည့် callback function ကိုလက်ခံသည်။ ပုံမှန်အားဖြင့် array_diff_ukey သည် တင်းကြပ်သောတန်းတူညီမျှမှုနှိုင်းယှဉ်ချက်များကိုအသုံးပြုသည် (i.e. === ) တွင် မူတည်. အချို့သောကိစ္စရပ်များတွင်ကျွန်ုပ်တို့သည် callback function ကို ပေး. ပြောင်းလဲခြင်းဖြင့်ပြောင်းလဲနိုင်သည်။

ဒီဆောင်းပါးမှာ StrnatcMP ကဲ့သို့သော PHP betto in function များကို အသုံးပြု. အဓိကနှိုင်းယှဉ်မှုများပြုလုပ်ရန်အတွက် array_diff_ukey ၏စွမ်းဆောင်ရည်ကိုမြှင့်တင်ပေးသည့်အခါအထူးသဖြင့် Array_Diff_ukey ၏စွမ်းဆောင်ရည်ကိုတိုးတက်အောင်လုပ်ရမည်။

1 ။ PHP တွင် array_diff_ukey function ကိုမိတ်ဆက်ခြင်း

array_diff_ukey ၏ function ရှေ့ပြေးပုံစံသည်အောက်ပါအတိုင်းဖြစ်သည် -

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

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

  • $ key_compare_funct : Array keys ကိုနှိုင်းယှဉ်ရန်အသုံးပြုသော callback function ကို

ဤလုပ်ဆောင်ချက်သည်ဒုတိယခင်းကျင်းမှုတွင်သော့မရှိသေးသောပထမခင်းကျင်းမှုတွင် element အသစ်များပါ 0 င်သော array အသစ်တစ်ခုကိုရရှိစေသည်။

2 ။ callback function ကိုနှိုင်းယှဉ်ရန် strnatcmp ကို key အဖြစ်အသုံးပြုပါ

strnatcmp သည် PHP တွင် stries နှစ်ခုကိုသဘာဝအမိန့်နှင့်နှိုင်းယှဉ်ရန်အတွက် built-in function တစ်ခုဖြစ်သည်။ သမားရိုးကျ string နှိုင်းယှဉ်မှုများနှင့်မတူဘဲ strnatcmp သည် သဘာဝပတ်ဝန်းကျင် sorting ၏ "သဘာဝ sorting" ကို "သဘာဝ sorting" ကိုပြောင်းရွှေ့ခွင့်ပြုသည်။ အစိတ်အပိုင်းများကိုကိန်းဂဏန်းအရွယ်အစားနှင့်နှိုင်းယှဉ်ပါ

နမူနာကုဒ်သည်အောက်ပါအတိုင်းဖြစ်သည် -

 $array1 = [
    "10" => "a",
    "2"  => "b",
    "100" => "c"
];

$array2 = [
    "1" => "x",
    "10" => "y"
];

// အသုံးပြု strnatcmp သော့များကို callback လုပ်ဆောင်ချက်များအဖြစ်နှိုင်းယှဉ်ခြင်း
$result = array_diff_ukey($array1, $array2, 'strnatcmp');

print_r($result);

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

3 ။ သော့များကိုနှိုင်းယှဉ်ရန် strnatcmp ကို အဘယ်ကြောင့်အသုံးပြုပါ။

ပုံမှန်အားဖြင့် array_diff_ukey သည် တင်းကျပ်သောတန်းတူညီမျှနှိုင်းယှဉ်ချက်နည်းလမ်းကိုအသုံးပြုသည်။ === ။ ဆိုလိုသည်မှာသော့နှင့်တန်ဖိုးများကိုအတိအကျတူညီသည့်ကိစ္စများသာတန်းတူဟုသတ်မှတ်ခြင်းကိုဆိုလိုသည်။ StrnatcMP ကို အသုံးပြုခြင်းသည်သော့များကိုသဘာဝအမိန့်ဖြင့်တွက်ချက်ရန်ခွင့်ပြုသည်။

ဥပမာအားဖြင့် strings များအတွက် "10" နှင့် "2" အတွက်သာမန် string ကိုနှိုင်းယှဉ်ခြင်းက "10" သည် " 2" ထက်နည်းသည်, "2" ထက်လျော့နည်းသည်။

4 ။ နောက်ထပ်စွမ်းဆောင်ရည်ကိုပိုကောင်းအောင်လုပ်ပါ

အချက်အလက်အမြောက်အများကိုကျွန်ုပ်တို့လုပ်ဆောင်သောအခါအထူးသဖြင့်အဓိကနှိုင်းယှဉ်ခြင်းနှင့်နှိုင်းယှဉ်လျှင်မှန်ကန်သောနှိုင်းယှဉ်ခြင်း function ကိုရွေးချယ်ခြင်းသည်စွမ်းဆောင်ရည်ကိုသိသိသာသာတိုးတက်စေနိုင်သည်။ ဥပမာအားဖြင့် StrcMPP သည် strcmp ကဲ့သို့သောပုံမှန် string နှိုင်းယှဉ်မှုများကိုအသုံးပြုခြင်းထက်ပိုမိုထိရောက်နိုင်သည်။

ထို့အပြင် PHP ရှိ built-in နှိုင်းယှဉ်လုပ်ဆောင်ချက်များသည်များသောအားဖြင့်ကျွန်ုပ်တို့ကိုယ်တိုင်အကောင်အထည်ဖော်သည့် callback function များထက်ပိုမိုမြန်ဆန်ပြီးပိုမိုမြန်ဆန်သည်။ ထို့ကြောင့်စွမ်းဆောင်ရည်ကိုပိုမိုကောင်းမွန်စေရန်အတွက်သင့်လျော်သော built-in function ကိုရွေးချယ်ခြင်းသည် callback function ကိုရိုးရိုးရှင်းရှင်းနှင့်ထိရောက်သောနည်းလမ်းတစ်ခုဖြစ်သည်။

5 ။ strnatcmp အသုံးပြုခြင်း၏လက်တွေ့ application တစ်ခု

ကျနော်တို့ကိန်းဂဏန်းများပုံစံအတွက်သော့အချို့ပါဝင်သည်ဆိုပါစို့။ array_diff_ukey မှတစ်ဆင့် ဒေါ်လာ array2 တွင်မတည်ရှိသည့် ဒေါ်လာ array1 တွင်သော့ချက်တန်ဖိုးအတွဲများကိုကျွန်ုပ်တို့ရှာဖွေလိုသည်။ strnatcmp ကို အသုံးပြုရန်အလွန်သင့်လျော်သည်။

 $array1 = [
    "100" => "a",
    "2"   => "b",
    "20"  => "c",
];

$array2 = [
    "10" => "x",
    "100" => "y",
];

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

output ရလဒ် -

 Array
(
    [2] => b
    [20] => c
)

6 ။ နိဂုံးချုပ်

PHP built-in function strnatcmp ကို ဖြတ်သန်းခြင်းအားဖြင့် array_diff_ukey သို့ callback function တစ်ခုအနေဖြင့်ကျွန်ုပ်တို့သည်ပိုမိုပြောင်းလွယ်ပြင်လွယ်ရှိသောသော့ချက်နှိုင်းယှဉ်မှုနှင့်အချို့သောကိစ္စရပ်များတွင်စွမ်းဆောင်ရည်ကိုတိုးတက်အောင်လုပ်နိုင်သည်။ သဘာဝအကောင်းဆုံးအမျိုးအစားနှင့်နှိုင်းယှဉ်ခြင်းနည်းလမ်းသည်အထူးဂဏန်းအစိတ်အပိုင်းများပါ 0 င်သောသော့များကိုကိုင်တွယ်ရန်အထူးသဖြင့်သင့်လျော်သည်။

ကျွန်ုပ်တို့သည်ကြီးမားသောဒေတာအစုများပေါ်တွင်လုပ်ဆောင်နေသည့်အခါအဓိကနှိုင်းယှဉ်ရန်အတွက်သင့်လျော်သော built-in function ကိုရွေးချယ်ခြင်းသည်စွမ်းဆောင်ရည်တိုးတက်စေရန်လွယ်ကူသောနည်းလမ်းတစ်ခုဖြစ်သည်။ strnatcmp နှင့်ပေါင်းစပ်ထားသော array_diff_ukey သည်သော့များကိုပိုမိုတိကျစွာနှင့်ထိရောက်စွာနှိုင်းယှဉ်နိုင်သည်။