လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> နှိုင်းယှဉ်ခြင်း function ကို 0, -1 နှင့် 1 ကိုပြန်လာသည့်အခါဘာဖြစ်မည်နည်း။

နှိုင်းယှဉ်ခြင်း function ကို 0, -1 နှင့် 1 ကိုပြန်လာသည့်အခါဘာဖြစ်မည်နည်း။

M66 2025-05-15

PHP တွင် array_diff_UAASTOUCE () function ကိုအသုံးပြုသည်။ array နှစ်ခုအကြားကွဲပြားခြားနားမှုများကိုနှိုင်းယှဉ်ရန်နှင့်သော့များကိုနှိုင်းယှဉ်ရန်စည်းမျဉ်းများကိုစိတ်ကြိုက်ပြုလုပ်နိုင်သည်။ ဤလုပ်ဆောင်ချက်၏အခြေခံ syntax သည်အောက်ပါအတိုင်းဖြစ်သည် -

 array_diff_uassoc(array $array1, array $array2, callable $key_compare_func): array
  • $ array1 ပထမ ဦး ဆုံးခင်းကျင်းဖြစ်ပါတယ်။

  • $ array2 သည်ဒုတိယခင်းကျင်းမှုဖြစ်ပြီး $ array1 နှင့်နှိုင်းယှဉ်ထားသည်။

  • $ key_compare_func သည်သော့ချက်နှစ်ခုနှင့်နှိုင်းယှဉ်သော callback function ကိုဖြစ်သည်။

array_diff_Usassoc () function ကို function သည် ဒေါ်လာ array (1) တွင်တည်ရှိသည့်အချက်များပါ 0 င်သောနေရာများပါ 0 င်သည်။ သို့သော် ဒေါ်လာ array2 တွင်မတည်ရှိပါ။ ၎င်း၏နှိုင်းယှဉ်မှုသည်သော့ချက်အမည်ပေါ်တွင်အခြေခံသည် (စိတ်ကြိုက်ခေါ်ဆိုမှု function ကို အသုံးပြု. ) ။ သို့သော်သင်မေးခွန်းအချို့ကိုသင်ကြုံတွေ့ရနိုင်သည်။ Key_CoPare_Func ၏ပြန်လည်နေရာချထားသည့်တန်ဖိုးသည် 0 , -1 or 1 သည်မည်သည့်အကျိုးသက်ရောက်မှုကိုလုပ်ဆောင်နိုင်မည်နည်း။

1 ။ 0 ၏အကျိုးသက်ရောက်မှုကိုပြန်ပို့သည်

Key_compare_Func Backback function 0 င် ပြန်ရောက်သည့်အခါ၎င်းသည်သော့နှစ်ခုသည်တန်းတူဖြစ်သည်ဟုဆိုလိုသည်။ Array_diff_Usoc () function တွင်, ၎င်းသည်အဓိကသော့ချက်ဖြစ်သော $ array1 နှင့် $ array2 တွင်လက်ရှိသော့ချက်တန်ဖိုးအတွဲ (2) ခုသည်အဓိကအမည်များနှင့်မတူပါ။ ထို့ကြောင့်ဤသော့ချက်တန်ဖိုးအတွဲများကိုခြားနားချက်၏အစိတ်အပိုင်းတစ်ခုအဖြစ်သတ်မှတ်ခြင်းမရှိပါ။ ပြန်လည်ရရှိထားသောရလဒ်ခင်းကျင်းတွင်မပေါ်ပါ။

ဥပမာ -

 $array1 = [
    'apple' => 'red',
    'banana' => 'yellow'
];

$array2 = [
    'apple' => 'green',
    'banana' => 'yellow'
];

function compare_keys($key1, $key2) {
    return 0;  // နှစ်ခုသော့အတူတူဖြစ်ကြောင်းဖော်ပြသည်
}

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

ထုတ်လုပ်မှု -

 Array
(
    [apple] => red
)

ရှင်းပြချက် - compare_keys ()) 0 င် 0 င ပြန်ရောက် သည်

2 ။ -1 ၏အကျိုးသက်ရောက်မှုကိုပြန်ပို့ပါ

Key_CoPare_Func Returns -11 ဆိုသောအခါ၎င်းသည် ဒေါ်လာ array1 ရှိသော့သည် ဒေါ်လာ array2 တွင်သော့ချက်ထက်သေးငယ်သည်ဟုဆိုလိုသည်။ ဤကိစ္စတွင် Array_Diff_UAAssoC () သည် ဒေါ်လာ array1 တွင်လက်ရှိသော့ချက်တန်ဖိုးတွဲ () ကိုသိမ်းဆည်းထားသင့်ကြောင်းစဉ်းစားသင့်သည်။ ထို့ကြောင့်ဤသော့ချက်တန်ဖိုးအတွဲများသည်ရလဒ်ခင်းကျင်းတွင်ပေါ်လာသည်။

ဥပမာ -

 $array1 = [
    'apple' => 'red',
    'banana' => 'yellow'
];

$array2 = [
    'apple' => 'green',
    'cherry' => 'red'
];

function compare_keys($key1, $key2) {
    return -1;  // ညှစ် key1 ထက်နည်းသော key2
}

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

ထုတ်လုပ်မှု -

 Array
(
    [banana] => yellow
)

ရှင်းလင်းချက် - compare_keys () ကို ပြန်ရောက် ချိန် မှ စ. Apple သည် သော့ချက် ချယ်ရီ ထက်သေးငယ်သည်

3 ။ 1 ၏အကျိုးသက်ရောက်မှုကိုပြန်ပို့သည်

key_compare_func ပြန်လာသည့်အခါ 1 array1 ရှိသော့သည် ဒေါ်လာ array2 တွင်သော့ချက်ထက်သာလွန်သည်ဟုဆိုလိုသည်။ ဤအချက်မှာ array_diff_UAAssoc () သည် လက်ရှိသော့ချက်တန်ဖိုးအတွဲကို ဒေါ်လာ array1 တွင်ထည့်သွင်းစဉ်းစားသည်။

ဥပမာ -

 $array1 = [
    'apple' => 'red',
    'banana' => 'yellow'
];

$array2 = [
    'apple' => 'green',
    'banana' => 'yellow'
];

function compare_keys($key1, $key2) {
    return 1;  // ညှစ် key1 ထက်သာခြင်း key2
}

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

ထုတ်လုပ်မှု -

 Array
(
    [apple] => red
)

ရှင်းလင်းချက် - ဒီဥပမာမှာ compare_keys () ပြန်လာပြီ ဆိုရင် Apple ဟာ အဓိက ငှက်ပျောသီး ထက်ပိုတယ်ဆိုတာကိုညွှန်ပြတယ်။ ထို့ကြောင့်, သော့ချက်တန်ဖိုးကို Apple ကို ဒေါ်လာ array 1 တွင်မတွေ့ရှိနိုင်ပါ။ ၎င်းသည် Git Pair (2) နှင့်အတူတူပင်ဖြစ်သည်။

အကျဉ်းချုပ်

array_diff_Uassoc () ကို အသုံးပြုတဲ့အခါ Return တန်ဖိုးများ 0 , -1 နှင့် callback function ၏ 1 သည် သော့ချက်များကိုတိုက်ရိုက်အကျိုးသက်ရောက်လိမ့်မည်။

  • REW 0 : ဆိုလိုသည်မှာသော့များသည်ညီမျှခြင်းနှင့်လက်ရှိသော့ချက်တန်ဖိုးအတွဲကိုခြားနားချက်မစဉ်းစားပါ။

  • Return -1 : $ array1 ရှိသော့သည် ဒေါ်လာ array2 တွင်သော့ချက်ထက်သေးငယ်ပြီးလက်ရှိသော့ချက်တန်ဖိုးအတွဲသည်ရလဒ်ခင်းကျင်းမှုတွင်ပါ 0 င်လိမ့်မည်။

  • ReXt 1 : $ array1 ရှိသော့သည် ဒေါ်လာ array2 တွင်သော့ချက်ထက်ကြီးပြီးလက်ရှိသော့ချက်တန်ဖိုးအတွဲကိုဖယ်ထုတ်ထားလိမ့်မည်။

calnback function ကိုနှိုင်းယှဉ်ခြင်း၏ယုတ္တိဗေဒကိုညှိခြင်းအားဖြင့်ကျွန်ုပ်တို့သည်နှိုင်းယှဉ်စည်းမျဉ်းများကိုနှိုင်းယှဉ်နိုင်သည့်စည်းမျဉ်းစည်းကမ်းများကိုနှိုင်းယှဉ်ကြည့်ရှုနိုင်သည်။