PHP တွင် array_intersect_angintersect_UAAssoC function ကိုအသုံးပြုသည်။ array နှစ်ခု၏သော့နှင့်တန်ဖိုးများကိုနှိုင်းယှဉ်ရန်အသုံးပြုသည်။ Array_intesect_assoc နှင့်ကွဲပြားခြားနားသောအရာမှာ array_intersect_UAST_UAST_AASSOC သည် အသုံးပြုသူများကိုသော့များ၏နှိုင်းယှဉ်မှုကိုစိတ်ကြိုက်ပြုပြင်ခွင့်ပြုသည်။
လုပ်ဆောင်ချက်ကိုအောက်ပါအတိုင်းသတ်မှတ်ထားသည်။
array_intersect_uassoc(array $array1, array $array2, callable $key_compare_func): array
$ array1 နှင့် $ array2 နှိုင်းယှဉ်တွင်ပါ 0 င်သည့် array 2 ခုဖြစ်သည်။
$ key_compare_func သည်သော့များကိုနှိုင်းယှဉ်ခြင်းအတွက်အသုံးပြုသူသတ်မှတ်ထားသော function တစ်ခုဖြစ်ပြီး Return Value သည် strcmp နှင့်ဆင်တူသည်။
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 င်သည်။
သင်၏စိတ်ကြိုက်နှိုင်းယှဉ်မှု 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);
ဤနည်းအားဖြင့်ကန ဦး အမိန့်သည်ကွဲပြားခြားနားလျှင်ပင်အမိန့်သည်အစဉ်လိုက်မမျှော်လင့်သောအစဉ်လိုက်ကွဲပြားခြားနားမှုများကိုရှောင်ရှားပြီးအစဉ်အမြဲကိုက်ညီလိမ့်မည်။
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);