လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> array_diff () နှင့်ပိုမိုထိရောက်သောရှုပ်ထွေးသောခင်းကျင်းမှုများကိုရရှိရန် Array_myge () ကိုမည်သို့အသုံးပြုရမည်နည်း။

array_diff () နှင့်ပိုမိုထိရောက်သောရှုပ်ထွေးသောခင်းကျင်းမှုများကိုရရှိရန် Array_myge () ကိုမည်သို့အသုံးပြုရမည်နည်း။

M66 2025-05-14

PHP တွင် Array_myge () array_diff () တွင်အလွန်အမင်းအသုံးပြုသော array လုပ်ခြင်းလုပ်ငန်းများအတွက်အသုံးပြုသော 2 ခုဖြစ်သည်။ Array_myge () array_diff () array_diff () ကိုအသုံးပြုနေစဉ် array_diff () ကို အသုံးပြုသည်။ ဤလုပ်ဆောင်မှုနှစ်ခုကိုအတူတကွအသုံးပြုခြင်းကိုအတူတကွအသုံးပြုခြင်းသည်ရှုပ်ထွေးသောခင်းကျင်းမှုအမျိုးမျိုးကိုထိရောက်စွာဖြည့်စွက်နိုင်သည်။

ရှုပ်ထွေးသော array () array () array_diff () ကိုပေါင်းစပ်ရန်နှင့်ပိုမိုထိရောက်သောဖြေရှင်းနည်းကိုဖြည့်ဆည်းပေးရန်နှင့်ပိုမိုထိရောက်သောဖြေရှင်းနည်းကိုဖြည့်ဆည်းပေးရမည်ကိုသရုပ်ဖော်ရန်ဥပမာအချို့ကိုဤဆောင်းပါးတွင်ဖော်ပြပါမည်။

1 ။ အခြေခံနားလည်မှု

ပထမ ဦး စွာကျွန်ုပ်တို့သည်ဤလုပ်ဆောင်ချက်နှစ်ခု၏အခြေခံအသုံးပြုမှုကိုအတိုချုပ်နားလည်သည်။

  • Array_myge () - array တစ်ခုသို့မဟုတ်တစ်ခုထက်ပိုသောပေါင်းစည်းရန်အသုံးပြုသည်။ ပေါင်းစည်းသည့်အခါ, ခင်းကျင်းရေးတွင်တူညီသောသော့ချက်အမည်ရှိပါကထပ်တူထပ်မျှ array တန်ဖိုးသည်ယခင်ခင်းကျင်းတန်ဖိုးကိုတန်ဖိုးထားသည်။

    ဥပမာ -

     $array1 = ["apple", "orange"];
    $array2 = ["banana", "grape"];
    $merged = array_merge($array1, $array2);
    print_r($merged);
    // ထုတ်လုပ်ခြင်း:Array ( [0] => apple [1] => orange [2] => banana [3] => grape )
    
  • array_diff () - arrays ၏ခြားနားချက်အစုကိုတွက်ချက်ရန်အသုံးပြုသည်, ဆိုလိုသည်မှာပထမခင်းကျင်းမှုတွင်တည်ရှိခဲ့သောဒြပ်စင်များဖြစ်သော်လည်းအခြားခင်းကျင်းမှုများတွင်မဟုတ်ပါ။

    ဥပမာ -

     $array1 = [1, 2, 3, 4];
    $array2 = [3, 4, 5, 6];
    $diff = array_diff($array1, $array2);
    print_r($diff);
    // ထုတ်လုပ်ခြင်း:Array ( [0] => 1 [1] => 2 )
    

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

2 ။ အသုံးပြုမှုအခြေအနေများ

လက်တွေ့ကျသော application တစ်ခုကြည့်ရအောင်။ အသုံးပြုသူခွင့်ပြုချက်နှင့်အခန်းကဏ် managements နှင့်ဆက်ဆံရာတွင်ကိုင်တွယ်သည့်အခါခွင့်ပြုချက်ခင်းကျင်းမှုများကိုပေါင်းစည်းရန်နှင့်ခေတ်နောက်ကျနေသောခွင့်ပြုချက်များကိုဖယ်ရှားရန်လိုအပ်နိုင်သည်။ ဥပမာအားဖြင့်:

  • ကျွန်ုပ်တို့တွင်ခွင့်ပြုချက်စာရင်းတွင်ပါ 0 င်မှုနှစ်ခုရှိသည်။

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

နမူနာကုဒ်:

 // ခွင့်ပြုချက်အသစ်စာရင်း
$newPermissions = ['read', 'write', 'edit', 'delete'];

// လက်ရှိခွင့်ပြုချက်စာရင်း
$currentPermissions = ['read', 'edit', 'view'];

// ဖျက်ပစ်ခွင့်ပြုချက်စာရင်း
$removedPermissions = ['write', 'delete'];

// လက်ရှိခွင့်ပြုချက်များနှင့်ခွင့်ပြုချက်အသစ်များကိုပေါင်းစည်းပါ
$allPermissions = array_merge($currentPermissions, $newPermissions);

// ထို့နောက် Merged ခွင့်ပြုချက်များမှဖျက်ထားသောခွင့်ပြုချက်များကိုဖယ်ရှားပါ
$finalPermissions = array_diff($allPermissions, $removedPermissions);

print_r($finalPermissions);
// ထုတ်လုပ်ခြင်း:Array ( [0] => read [2] => edit [3] => view )

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

3 ။ ရှုပ်ထွေးသောစစ်ဆင်ရေးကိုပိုကောင်းအောင်လုပ်ပါ

အထက်ပါဥပမာမှတစ်ဆင့် array_mygerge () array_diff () ပေါင်းစပ်မှုပေါင်းစပ်ခြင်းသည်အဆင့်များစွာရှုပ်ထွေးသောရှုပ်ထွေးသောအလုပ်များကိုထိရောက်စွာကိုင်တွယ်နိုင်သည်ကိုကျွန်ုပ်တို့တွေ့မြင်နိုင်သည်။ ခွင့်ပြုချက်အချက်အလက်များသည်ကြီးမားသည်သို့မဟုတ်မကြာခဏမွမ်းမံရန်လိုအပ်ပါကဤလုပ်ဆောင်ချက်နှစ်ခုကိုပေါင်းစပ်ခြင်းက code ၏ execution ထိရောက်မှုကိုတိုးတက်စေနိုင်သည်။

သို့သော်ဒေတာ volume သည်ကြီးမားသည့်အခါ array_myge () array_diff () () ကို အသုံးပြုခြင်းသည်စွမ်းဆောင်ရည်ပြ problems နာများကိုတိုက်ရိုက်ဖြစ်စေသည့်အခါ, ဤပြ problem နာကိုဖြေရှင်းရန် Shop Element များကိုမပေါင်းသင်းမီ duplicate element များကိုဖယ်ရှားခြင်းသို့မဟုတ် hash ဇယားများကိုသိုလှောင်ထားသည့် Elash ဇယားများစတိုးဆိုင်များကိုသိုလှောင်ထားသည့်ဇယားများစသည့်ပိုမိုထိရောက်သောအချက်အလက်များတည်ဆောက်ခြင်းကိုဖယ်ရှားရန်စဉ်းစားနိုင်သည်။

ဥပမာအားဖြင့်, array_myge () ကိုအသုံးပြုပြီးနောက်, ထပ်ခွင့်ပြုသည့်ပစ္စည်းများရှိနိုင်သည်။ ဤမိတ္တူပွားများကို array_unique () မှတဆင့်ဖယ်ရှားနိုင်သည်။

optimized code:

 $mergedPermissions = array_merge($currentPermissions, $newPermissions);
$uniquePermissions = array_unique($mergedPermissions);
$finalPermissions = array_diff($uniquePermissions, $removedPermissions);

print_r($finalPermissions);
// ထုတ်လုပ်ခြင်း:Array ( [0] => read [2] => edit [3] => view )

4 ။ နိဂုံးချုပ်

array_myge () array_diff) ကိုပေါင်းစပ်ခြင်းကရှုပ်ထွေးသောခင်းကျင်းစစ်ဆင်ရေးများကိုထိရောက်စွာကိုင်တွယ်နိုင်အောင်ကူညီနိုင်သည်။ ဤ built-in function များကို အသုံးပြု. code ကိုရိုးရှင်းလွယ်ကူစွာပြုလုပ်နိုင်ပြီးကုဒ်၏ဖတ်နိုင်မှုနှင့်လုပ်ဆောင်မှုကိုတိုးတက်စေနိုင်သည်။

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

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