လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> callback function သည်အဓိကအမည်များအတွက်သာတရားဝင်သည်, တန်ဖိုးအမှားများကိုလျစ်လျူရှုထားသည်

callback function သည်အဓိကအမည်များအတွက်သာတရားဝင်သည်, တန်ဖိုးအမှားများကိုလျစ်လျူရှုထားသည်

M66 2025-06-06

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

 array array_diff_uassoc ( array $array1 , array $array2 , callable $key_compare_func )
  • $ array1 နှင့် $ array2 : နှိုင်းယှဉ်ခံရဖို့ arrys နှစ်ခု။

  • $ key_Compare_funct : custom callback function ကို arrays အတွက်သော့ကိုနှိုင်းယှဉ်ဖို့ custom callback function ကို။

function ကို $ array2 တွင် ကိုက်ညီသောသော့မရှိသော သော့ချက်တန်ဖိုးအတွဲများပါ 0 င်သည့် array တစ်ခုပါ 0 င်သည်။ အရေးကြီးသည်မှာဤနေရာတွင်နှိုင်းယှဉ်ခြင်းသည် အဓိကသော့ချက် နှင့် စိတ်ကြိုက်နှိုင်းယှဉ်ခြင်း function အပေါ်အခြေခံသည်။

Callback function ကိုဘယ်လိုအလုပ်လုပ်သလဲ။

callback function ကို definition_Compare_func ၏အဓိပ္ပါယ်သည်အောက်ပါအတိုင်းဖြစ်သည် -

 function key_compare_func ($key1, $key2) {
    // နှိုင်းယှဉ်သော့များ၏ယုတ္တိဗေဒ
}

array_diff_UAAssoc () , ဒီ callback function က သော့ချက်အမည်များကိုသာနှိုင်းယှဉ်ခြင်း နှင့်တန်ဖိုးနှင့်ဘာမှမဆိုင်ပါဘူး။ ဤလုပ်ဆောင်မှု၏ရည်ရွယ်ချက်မှာ developer များနှင့်ပတ်သက်သော developer များနှင့်၎င်းတို့ကိုယ်ပိုင်လိုအပ်ချက်များနှင့်အညီထည့်သွင်းထားသည့်သော့ချက်များကိုနှိုင်းယှဉ်ရန်ကိုသတ်မှတ်ရန်ဖြစ်သည်။

တိကျသောလုပ်ငန်းခွင်:

  1. Array_diff_UAAssoc () ပထမ ဦး ဆုံးအမည်များကို ဒေါ်လာ array1 နှင့် $ array2 နှင့်နှိုင်းယှဉ်ထားသည်။

  2. အကယ်. ဒေါ်လာ array1 တွင် သော့ချက်အမည်မရှိသေးပါက callback function ကိုမှတစ်ဆင့်သော့ချက်အမည်များကိုနှိုင်းယှဉ်ခြင်း၏ရလဒ်သည်မရှိမဖြစ်လိုအပ်ပါက ဒေါ်လာ array 1 တွင်မရှိမဖြစ်လိုအပ်ပါက $ array တွင်ရှိသောသော့ချက်များကိုနှိုင်းယှဉ်ခြင်း၏ရလဒ်ကိုသိမ်းဆည်းထားမည်။

  3. သတိပြုသင့်သည်မှာဤနှိုင်းယှဉ်ချက်သည်အဓိကသော့ချက်ကို အခြေခံ. တန်ဖိုးများနှင့်နှိုင်းယှဉ်လျှင်မပါ 0 င်ပါ။

အဘယ်ကြောင့်တန်ဖိုးများကိုလျစ်လျူရှုကြသနည်း

ကျွန်ုပ်တို့သည်ဤအပြုအမူကိုနားလည်ရန် PHP ၏ဒီဇိုင်းအတွေးအခေါ်သို့ပြန်သွားရန်လိုအပ်သည်။ array_diff_Usassoc () function ၏အဓိကရည်ရွယ်ချက်မှာ သော့ချက်အမည် ပေါ်မူတည်ပြီးခင်းကျင်းမှုရှိကွဲပြားခြားနားမှုများကိုတွက်ချက်ရန်ဖြစ်သည်။ အကယ်. ၎င်းသည်တစ်ချိန်တည်းတွင်အဓိကတန်ဖိုးများကွဲပြားခြားနားသောကွဲပြားမှုကိုထည့်သွင်းစဉ်းစားပါက၎င်း၏ function သည် array_diff () သို့မဟုတ် array_diff_adiff_assoc နှင့်ထပ်တူပင်ဖြစ်သည်။

  1. ဒီဇိုင်းရည်ရွယ်ချက်မှာရှင်းရှင်းလင်းလင်း - array_diff_UAAssoc () ၏မူလရည်ရွယ်ချက်မှာအဓိကအကြောင်းရင်းများတွင်ကွဲပြားခြားနားမှုများကိုနှိုင်းယှဉ်ခြင်းနှင့်နှိုင်းယှဉ်ခြင်းများကိုနှိုင်းယှဉ်ခြင်းများကိုနှိုင်းယှဉ်ရန်ဖြစ်သည်။ တန်ဖိုးနှိုင်းယှဉ်ခြင်း function ကို array_diff () နှင့် array_diff_assoc) တွင်ကောင်းစွာအကောင်အထည်ဖော်ခဲ့သည်။

  2. callback functions များ၏ကန့်သတ်ချက်များ - callback function key_compare_func သည်သော့ချက်အမည်များနှင့်နှိုင်းယှဉ်လျှင်အဓိကသော့ချက်ဖြစ်သည်။ PHP ၏ဒီဇိုင်းအတွေးအခေါ်သည်များသောအားဖြင့် function တစ်ခုစီ၏အပြုအမူကိုပိုမိုရှင်းလင်းစွာပြုလုပ်နိုင်စေရန်အတွက်များသောအားဖြင့်လုပ်ဆောင်သည်။

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

နမူနာကုဒ်

ကျနော်တို့ကအောက်ပါခင်းကျင်းရှိသည်ဆိုပါစို့:

 $array1 = [
    1 => 'apple',
    2 => 'banana',
    3 => 'cherry',
];

$array2 = [
    1 => 'apple',
    2 => 'orange',
    4 => 'grape',
];

ကျွန်ုပ်တို့ကိုနှိုင်းယှဉ်ရန် array_diff_Usassoc () ကို သုံးပါက callback function ကိုသာအဓိကအမည်များကိုသာနှိုင်းယှဉ်ပါလိမ့်မည်။

 function compare_keys($key1, $key2) {
    return $key1 - $key2;
}

$result = array_diff_uassoc($array1, $array2, 'compare_keys');

print_r($result);

ရလဒ်ရလဒ် -

 Array
(
    [3] => cherry
)

ဤဥပမာတွင် array_diff_UAAssoc () သည် ဒေါ်လာ array2 မ 0 င်သည့်သော့များကိုရှာဖွေရန် Array -array1 နှင့် array2 ၏အဓိကအကြောင်းရင်းများကိုနှိုင်းယှဉ်ထားသည်။ ရလဒ်မှာ 3 => ချယ်ရီကို ထိန်းသိမ်းထားသောကြောင့် 4 င်းတို့၏တန်ဖိုးများသည်ကွဲပြားသော်လည်း 4 င်းသည် ဒေါ်လာ array2 တွင်မတည်ရှိပါကထိန်းသိမ်းထားသောကြောင့်ထိန်းသိမ်းထားသည်။ မျှော်လင့်ထားသည့်အတိုင်း callback function သည်အဓိကအမည်များအတွက်သာတရားဝင်သည်နှင့်နှိုင်းယှဉ်ချက်များတွင်တန်ဖိုးများကိုမပါ 0 င်ပါ။

အကျဉ်းချုပ်

array_diff_Usback function ကိုအဘယ်ကြောင့်ဆိုရခြင်း၏အကြောင်းပြချက်သည်အဓိကအကြောင်းရင်းအတွက်သာတရားဝင်သည်။ အဓိကအားဖြင့် function ၏ဒီဇိုင်းရည်မှန်းချက်သည်အဓိကအကြောင်းရင်းများအပေါ် အခြေခံ. ကွဲပြားသောတွက်ချက်မှုများကိုပြုလုပ်ရန်ဖြစ်သည်။ ဤအပြုအမူသည်လုပ်ဆောင်မှု၏ယုတ္တိဗေဒကိုရိုးရှင်းအောင်ပြုလုပ်ခြင်း, ၎င်းကိုပိုမိုထိရောက်စေရန်နှင့်၎င်း၏ရည်မှန်းချက်ကိုအာရုံစိုက်သည်။ အကယ်. သင်သည်အဓိကတန်ဖိုးများကိုကွဲပြားစွာနှိုင်းယှဉ်ရန်လိုအပ်ပါက array_diff_assoc () ကဲ့သို့သောအခြားလုပ်ဆောင်ချက်များကိုသုံးနိုင်သည်သို့မဟုတ် callback function တွင်တန်ဖိုးနှင့်သော့ချက်အမည်များကိုသင်အသုံးပြုနိုင်သည်။