လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> array_intersect_UAssoc တွင်သော့ချက်တန်ဖိုးတွဲဖက်အမှာစာသည်ကိုက်ညီမှုမရှိပါကကျွန်ုပ်ဘာလုပ်သင့်သနည်း။

array_intersect_UAssoc တွင်သော့ချက်တန်ဖိုးတွဲဖက်အမှာစာသည်ကိုက်ညီမှုမရှိပါကကျွန်ုပ်ဘာလုပ်သင့်သနည်း။

gitbox 2025-05-26

PHP တွင် array_intersect_angintersect_UAAssoC function ကိုအသုံးပြုသည်။ array နှစ်ခု၏သော့နှင့်တန်ဖိုးများကိုနှိုင်းယှဉ်ရန်အသုံးပြုသည်။ Array_intesect_assoc နှင့်ကွဲပြားခြားနားသောအရာမှာ array_intersect_UAST_UAST_AASSOC သည် အသုံးပြုသူများကိုသော့များ၏နှိုင်းယှဉ်မှုကိုစိတ်ကြိုက်ပြုပြင်ခွင့်ပြုသည်။

1 ။ Array_intersect_UASTORE ၏အခြေခံအသုံးပြုမှု

လုပ်ဆောင်ချက်ကိုအောက်ပါအတိုင်းသတ်မှတ်ထားသည်။

 array_intersect_uassoc(array $array1, array $array2, callable $key_compare_func): array
  • $ array1 နှင့် $ array2 နှိုင်းယှဉ်တွင်ပါ 0 င်သည့် array 2 ခုဖြစ်သည်။

  • $ key_compare_func သည်သော့များကိုနှိုင်းယှဉ်ခြင်းအတွက်အသုံးပြုသူသတ်မှတ်ထားသော function တစ်ခုဖြစ်ပြီး Return Value သည် strcmp နှင့်ဆင်တူသည်။

2 ။ အမိန့်ကိုက်ညီမှုသည်အခါစွမ်းဆောင်ရည်

key-value arrays of Array များအနေဖြင့်ကိုက်ညီမှုရှိသည့်အခါ array_intersect_UASESOC သည် သော့နှင့်တန်ဖိုးများအကြားသက်ဆိုင်ရာဆက်ဆံရေးအပေါ် အခြေခံ. နှိုင်းယှဉ်နေတုန်းပါ။ ဆိုလိုသည်မှာသော့ချက်များနှင့်တန်ဖိုးများသည်ရလဒ်အနေဖြင့်၎င်းတို့၏အမိန့်ကိုမည်သည့်နေရာတွင်မခွဲခြားဘဲရလဒ်တွင်ပေါ်လာရန် "တန်းတူ" ဖြစ်ရမည်။

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

 <?php
$array1 = [
    'a' => 1,
    'b' => 2,
];

$array2 = [
    'b' => 2,
    'a' => 1,
];

$result = array_intersect_uassoc($array1, $array2, 'strcmp');

print_r($result);

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

 Array
(
    [a] => 1
    [b] => 2
)

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

3 ။ စိတ်ကြိုက်နှိုင်းယှဉ်လုပ်ဆောင်ချက်များသည်ရလဒ်များကိုအကျိုးသက်ရောက်စေသည့်အခါ

သင်၏စိတ်ကြိုက်နှိုင်းယှဉ်မှု function ကိုယူဆခြင်းသည်အမိန့်ကိုအကင်းပါးပါးအကင်းပါးပါးသည်ကိုက်ညီမှုမရှိပါ။ Default String နှိုင်းယှဉ်မှု function strcmp သည် အမှာစာဖြစ်သည်။

အကယ်. သင်သည်ကွဲပြားခြားနားသောအမိန့်များ၌ပင်သော့ချက်တန်ဖိုးအတွဲများသည်မှန်ကန်စွာကိုက်ညီနိုင်ရန်သေချာစေလိုပါကအောက်ပါအကြံပြုချက်များကိုသင်လိုက်နာနိုင်သည်။

  • နှိုင်းယှဉ်ခြင်းလုပ်ဆောင်ချက်သည်သော့ချက်၏တန်ဖိုးများကိုသာနှိုင်းယှဉ်ကြောင်းသေချာပါစေ

  • ပထမ ဦး စွာခင်းကျင်း၏သော့များကို sort လုပ်ပါ , ပြီးနောက် array_intersect_UAssoc ကို သုံးပါ။

ဥပမာ: ပထမ ဦး ဆုံး sort ပြီးတော့နှိုင်းယှဉ်

 <?php
$array1 = [
    'b' => 2,
    'a' => 1,
];

$array2 = [
    'a' => 1,
    'b' => 2,
];

// သော့များကိုစီပါ
ksort($array1);
ksort($array2);

$result = array_intersect_uassoc($array1, $array2, 'strcmp');

print_r($result);

ဤနည်းအားဖြင့်ကန ဦး အမိန့်သည်ကွဲပြားခြားနားလျှင်ပင်အမိန့်သည်အစဉ်လိုက်မမျှော်လင့်သောအစဉ်လိုက်ကွဲပြားခြားနားမှုများကိုရှောင်ရှားပြီးအစဉ်အမြဲကိုက်ညီလိမ့်မည်။

4 ။ အကျဉ်းချုပ်

  • array_intersect_UAssoc သည် သော့နှင့်တန်ဖိုးများကိုနှိုင်းယှဉ်ပြီးအမိန့်ကိုယ်တိုင်ကလိုက်ဖက်သောရလဒ်ကိုမထိခိုက်ပါ။

  • စိတ်ကြိုက်အဓိကနှိုင်းယှဉ်မှုလုပ်ဆောင်ချက်များသည်နောက်ဆက်တွဲဆက်စပ်ယုတ္တိဗေဒအပါအ 0 င်ရှောင်ရှားသင့်သည်။

  • လုံခြုံစိတ်ချရသောဘက်တွင်ရှိနေရန်သင်က KSORC () ကို သုံးနိုင်သည်။


 <?php
$array1 = [
    'b' => 2,
    'a' => 1,
];

$array2 = [
    'a' => 1,
    'b' => 2,
];

ksort($array1);
ksort($array2);

$result = array_intersect_uassoc($array1, $array2, 'strcmp');

print_r($result);