လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> Array_iniff_ukey () array_iniffesect_ey () function ကိုအသုံးပြုနည်း

Array_iniff_ukey () array_iniffesect_ey () function ကိုအသုံးပြုနည်း

M66 2025-05-15

PHP တွင် processing array များသည်နေ့စဉ်ပရိုဂရမ်းမင်းအလုပ်တွင်အသုံးအများဆုံးလုပ်ငန်းတစ်ခုဖြစ်သည်။ Array စစ်ဆင်ရေးများ၏ထိရောက်မှုကိုတိုးတက်စေရန် PHP သည် array_diff_ukey () နှင့် array_intesect_key () နှင့် array_intersect_key () တို့တွင်ပါ 0 င်သောလုပ်ဆောင်ချက်များကိုပေးသည်။ အချို့ဖြစ်ရပ်များတွင်ဤလုပ်ဆောင်ချက်နှစ်ခုကိုပေါင်းစပ်ခြင်းကအထူးသဖြင့်အဓိကကွဲပြားခြားနားမှုများသို့မဟုတ်လမ်းဆုံလမ်းခွသို့မဟုတ်လမ်းဆုံသို့မဟုတ်လမ်းဆုံလုပ်ငန်းများလုပ်ဆောင်ရန်လိုအပ်သည့်အခါတွင်ခင်းကျင်းခြင်း၏ထိရောက်မှုကိုများစွာတိုးတက်စေနိုင်သည်။

1 ။ array_diff_ukey () နှင့် array_intesect_key () functions ကိုမိတ်ဆက်ပေးခြင်း

  1. array_diff_ukey () function ကို

    array_diff_ukey () function ကို) function ကိုအဓိကအမည်များဖြင့်ခြားနားချက်ကိုတွက်ချက်သော array နှစ်ခုအတွက် elements များကိုပြန်ပို့သည်။ နှိုင်းယှဉ်မှုဖြစ်စဉ် သည် အသုံးပြုသူသတ်မှတ်ထားသော callback function ကိုအခြေခံသည်။ ၎င်းသည်သော့များသည်အတူတူပင်ဖြစ်ကြောင်းဆုံးဖြတ်ရန် 0 , 1 ,

    သဒ္ဒါ:

     array_diff_ukey(array $array1, array $array2, callable $key_compare_func): array
    

    ဥပမာ -

     $array1 = ['a' => 1, 'b' => 2, 'c' => 3];
    $array2 = ['a' => 4, 'd' => 5];
    
    $result = array_diff_ukey($array1, $array2, 'strcasecmp');
    print_r($result);
    
  2. array_intersect_key () function ကို

    array_intesect_key () function ကို arrys နှစ်ခုအတွက်တူညီသောသော့အမည်ရှိ elements နှင့်အတူ elements returns ။ ဤလုပ်ဆောင်ချက်သည်ခင်းကျင်း၏အဓိကအမည်များကိုနှိုင်းယှဉ်ပြီးသော့ချက်အမည်များနှင့်သက်ဆိုင်သောတန်ဖိုးကိုဂရုမစိုက်ပါ။

    သဒ္ဒါ:

     array_intersect_key(array $array1, array $array2): array
    

    ဥပမာ -

     $array1 = ['a' => 1, 'b' => 2, 'c' => 3];
    $array2 = ['a' => 4, 'd' => 5];
    
    $result = array_intersect_key($array1, $array2);
    print_r($result);
    

2 ။ Array_diff_ukey () နှင့် array_intersect_key () ကိုသုံးပါ

အမှန်တကယ်ဖွံ့ဖြိုးတိုးတက်မှုတွင်ကျွန်ုပ်တို့သည်အဓိကအကြောင်းရင်းများ၏ကွဲပြားခြားနားမှုများသို့မဟုတ်လမ်းဆုံများနှင့်နှိုင်းယှဉ်ရန်စီစဉ်ထားသည်။ ယခုအချိန်တွင် Array_diff_ukey () နှင့် array_intesect_key () ကိုပေါင်းစပ်ခြင်းသည်ကျွန်ုပ်တို့ကိုပိုမိုထိရောက်သောနည်းဖြင့်အကောင်အထည်ဖော်ရန်ကူညီနိုင်သည်။

ဥပမာ 1 - လမ်းဆုံကိုအရင်ယူပြီးခြားနားချက်ကိုလုပ်ဆောင်ပါ

သင့်တွင် array နှစ်ခုရှိပြီးအသုံးပြုသူများအနေဖြင့်အသုံးပြုသူများစွာနှင့်အခြားအသုံးပြုသူများပါ 0 င်သည့်အခြားတစ်ခု၏အသေးစိတ်အချက်အလက်များပါ 0 င်သည်ဆိုပါစို့။ အကယ်. သင်သည်ဤနှစ်ခု array နှစ်ခုရှိအသုံးများသောသုံးစွဲသူများကိုရယူလိုပါက၎င်းတို့မှသုံးစွဲသူများကိုဖယ်ထုတ်လိုပါကဤလုပ်ဆောင်ချက်နှစ်ခုကိုပေါင်းစပ်ထားနိုင်သည်။

 // အသုံးပြုသူရေးခန်း
$users = [
    'user1' => ['name' => 'John', 'age' => 25],
    'user2' => ['name' => 'Jane', 'age' => 22],
    'user3' => ['name' => 'Tom', 'age' => 28],
    'user4' => ['name' => 'Lucy', 'age' => 24],
];

// အာရုံစူးစိုက်မှုကိုလိုအပ်တဲ့အသုံးပြုသူများID
$focus_users = [
    'user1' => ['name' => 'John'],
    'user2' => ['name' => 'Jane'],
];

// အောက်ပါအသုံးပြုသူများထံမှ,ရယူပါ $users လိုက်ဖက်တဲ့အသုံးပြုသူသတင်းအချက်အလက်
$intersected_users = array_intersect_key($users, $focus_users);

// နောက်ထပ်အသုံးပြုသူများကိုထပ်မံဖယ်ထုတ်ပါID
$exclude_users = ['user2'];
$result = array_diff_ukey($intersected_users, $exclude_users, 'strcasecmp');

print_r($result);

ကုဒ်ရှင်းပြချက်:

  1. array_intersect_key () ကို အသုံးပြုသူများ array တွင် focus_users array အဖြစ်ပထမ ဦး ဆုံး key name ဖြင့် အသုံးပြုသူများကို ပထမ ဦး ဆုံးရရှိသည်။

  2. array_diff_ukey () သည်အသုံးပြုသူများကို ဖြတ်တောက်ခြင်း (I.E. အသုံးပြုသူများ ) မှအသုံးပြုသူများကိုဖယ်ထုတ်လိုက်သည် (I.E. အသုံးပြုသူများသည် 'user2' ) မှအသုံးပြုသူများကိုဖယ်ထုတ်လိုက်သည်။

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

3 ။ စွမ်းဆောင်ရည် optimization နှင့်အလေ့အကျင့်

  1. ထပ်ခါတလဲလဲတွက်ချက်မှုကိုရှောင်ကြဉ်ပါ Array_Diff_ukey () သို့မဟုတ် array_intesect_key ()) ကို သုံး. ကြီးမားသောခင်းကျင်းမှုများကိုကိုင်တွယ်သောအခါတွက်ချက်မှုများစွာပါ 0 င်နိုင်သည်။ ၎င်းကိုပေါင်းစပ်ခြင်းအားဖြင့်စစ်ဆင်ရေးတစ်ခုတွင်အဆင့်များစွာပြီးစီးနိုင်ပြီးထပ်ခါတလဲလဲတွက်ချက်မှုများကိုရှောင်ရှားနိုင်ပြီးစွမ်းဆောင်ရည်တိုးတက်အောင်ပြုလုပ်ခြင်းကိုပြုလုပ်နိုင်သည်။

  2. သင့်လျော်စွာ callback လုပ်ဆောင်ချက်များကိုသုံးပါ သော့ချက်များကိုဓလေ့ထုံးတမ်းစည်းကမ်းချက်များနှင့်နှိုင်းယှဉ်ရန်လိုအပ်သည့်အခါ array_diff_ukey ၏ callback function ကိုအသုံးပြုရန်အလွန်အရေးကြီးသည်။ အကျိုးသင့်အကြောင်းသင့်ရှိသော callback function များသည်အဓိကအားဖြင့်အမည်များကိုပိုမိုထိရောက်စေနိုင်သည်။ ဘုံနှိုင်းယှဉ်မှုလိုအပ်ချက်များအတွက် stricasecmp သို့မဟုတ် strcmp ကဲ့သို့သော built-in နှိုင်းယှဉ်လုပ်ဆောင်မှုများကိုအသုံးပြုရန်ကြိုးစားပါ။

  3. ဒေတာအရွယ်အစားကိုအာရုံစိုက်ပါ များစွာသောဒေတာအစုတခုတွင် Array စစ်ဆင်ရေးများသည်မှတ်ဥာဏ်များစွာကိုစားသုံးပြီးအရင်းအမြစ်များကိုတွက်ချက်နိုင်သည်။ တစ်ချိန်တည်းမှာပင်မလိုအပ်သောအချက်အလက်များကိုမသိုလှောင်ထားရန်ဒေတာဖွဲ့စည်းပုံကိုပိုမိုကောင်းမွန်စေရန်စဉ်းစားနိုင်သည်။ array_diff_ukey () နှင့် array_intesect_key () ပေါင်းစပ်အသုံးပြုသောအခါမှတ်ဉာဏ်အသုံးပြုမှုကိုလျှော့ချရန်မလိုအပ်သောအချက်အလက်များကိုပထမဆုံးအကြိမ်တပ်ဆင်ခြင်းသည်အကောင်းဆုံးဖြစ်သည်။

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

array_diff_ukey () နှင့် array_intesect_key () လုပ်ဆောင်ချက်များကိုပေါင်းစပ်ခြင်းအားဖြင့်ကျွန်ုပ်တို့သည် PHP တွင် array များတပ်ဆင်ခြင်း, မလိုအပ်သောတွက်ချက်မှုနှင့်မှတ်ဉာဏ်အသုံးပြုမှုကိုလျှော့ချနိုင်သည်။ function ပေါင်းစပ်ခြင်းများကိုစနစ်တကျရွေးချယ်ခြင်းသည်အထူးသဖြင့်အရေးယူမှုများကိုသိသိသာသာတိုးတက်စေနိုင်သောကြီးမားသော arrays များနှင့်ဆက်ဆံရာတွင်ကျွန်ုပ်တို့၏ code ၏စွမ်းဆောင်ရည်ကိုတိုးတက်စေရန်ကူညီနိုင်သည်။ ဤလုပ်ဆောင်မှုများကိုအသုံးပြုခြင်းအားဖြင့် code ၏ဖတ်နိုင်မှုကိုတိုးတက်အောင်လုပ်ရုံသာမကရှုပ်ထွေးသောခင်းကျင်းမှုလုပ်ငန်းများကိုကိုင်တွယ်ဖြေရှင်းရာတွင်ပိုမိုထိရောက်စေသည်။