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

array_diff () နှင့် array_diff_assoc အကြားခြားနားချက်ကဘာလဲ။ ကွဲပြားခြားနားမှုများနှင့်ကွဲပြားခြားနားမှုများကိုဤလုပ်ဆောင်ချက်နှစ်ခုအကြားမည်သို့နားလည်ရမည်နည်း။

M66 2025-05-13

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

1 ။ နိဒါန်း

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

    သဒ္ဒါ:

     array_diff(array $array1, array $array2, array ...$arrays): array
    

    ဥပမာ -

     $array1 = [1, 2, 3, 4];
    $array2 = [2, 3, 5];
    
    $result = array_diff($array1, $array2);
    print_r($result);
    

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

     Array
    (
        [0] => 1
        [3] => 4
    )
    

    ဤဥပမာတွင် array_diff () သည် ဒေါ်လာ array1 နှင့် $ array2 ၏တန်ဖိုးများကိုနှိုင်းယှဉ်သည်။ ရလဒ်မှာ ဒေါ်လာ array1 တွင်တည်ရှိခဲ့သော်လည်း ဒေါ်လာ array2 တွင်မတည်ရှိပါ။

  2. array_diff_assoc ()
    array_diff_assoc () ၏ function သည် array_diff () နှင့်ဆင်တူသည်, သို့သော်၎င်းသည်နှိုင်းယှဉ်သောအခါတန်ဖိုးကိုစဉ်းစားသည်သာမကအဓိကအကြောင်းရင်းများနှင့်နှိုင်းယှဉ်သည်။ ဆိုလိုသည်မှာတန်ဖိုးများနှင့်သော့ချက်အမည်များကိုတန်းတူညီမျှမထားသည့်အရာများကိုသာကွဲပြားခြားနားသည်ဟုယူဆရသည်။

    သဒ္ဒါ:

     array_diff_assoc(array $array1, array $array2, array ...$arrays): array
    

    ဥပမာ -

     $array1 = [1 => "apple", 2 => "banana", 3 => "cherry"];
    $array2 = [1 => "apple", 2 => "grape"];
    
    $result = array_diff_assoc($array1, $array2);
    print_r($result);
    

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

     Array
    (
        [2] => banana
        [3] => cherry
    )
    

    ဤဥပမာတွင် array_diff_assoc () သည် ဒေါ်လာ array1 နှင့် $ array2 ၏တန်ဖိုးများနှင့်အဓိကအမည်များကိုနှိုင်းယှဉ်ထားသည်။ 1 => "Apple" သည် arrays နှစ်ခုလုံးတွင်တူညီသော်လည်း array_diff_assoc () သည် ဤဒြပ်စင်ကိုလျစ်လျူရှုပြီးကွဲပြားခြားနားသောသော့အမည်များနှင့်သက်ဆိုင်ရာတန်ဖိုးများနှင့်အတူဒြပ်စင်များကိုဆက်လက်ရှာဖွေလိမ့်မည်။ ထို့ကြောင့် 2 => "ငှက်ပျောသီး" နှင့် 3 => "Cherry" သည်ကွဲပြားခြားနားသည်ဟုယူဆကြသည်။

2 ။ ကွဲပြားခြားနားမှုအကျဉ်းချုပ်

လုပ်ဆောင်ချက် နှိုင်းယှဉ်စံချိန်စံညွှန်းများ သက်ဆိုင်တဲ့အခြေအနေများ
array_diff () တန်ဖိုးများကိုသာနှိုင်းယှဉ်ခြင်း, အဓိကအမည်များကိုမထည့်သွင်းပါ နှိုင်းယှဉ်မှုများအပေါ် အခြေခံ. နှိုင်းယှဉ်မှုများလိုအပ်သောအခြေအနေများလိုအပ်ပြီး array key names များတွင်ကွဲပြားခြားနားမှုများကိုလျစ်လျူရှုထားသည့်အခြေအနေများလိုအပ်သည်
array_diff_assoc () တန်ဖိုးများနှင့်သော့ချက်အမည်များနှိုင်းယှဉ် တန်ဖိုးများနှင့်သော့အမည်များကိုနှိုင်းယှဉ်ရန်လိုအပ်သည့်အခြေအနေများနှင့်နှိုင်းယှဉ်ပါကပထဝီအနေအထားကိုတသမတ်တည်းရှိရန်လိုအပ်သည့်နေရာများနှင့်နှိုင်းယှဉ်ပါ

3 ။ အခြေအနေများကိုသုံးပါ

  1. Array_diff () -
    ခင်းကျင်းမှု၏တန်ဖိုးကိုသင်သာဂရုစိုက်ပြီးသော့ချက်အမည်များကိုဂရုမစိုက်ပါက array_diff () ကို သုံးနိုင်သည်။ ဥပမာအားဖြင့်, သင့်တွင်မတူညီသောထုတ်ကုန် ID များပါ 0 င်သည့်စာရင်းနှစ်ခုရှိသည်။

    နမူနာဇာတ်လမ်း:
    ဥပမာအားဖြင့်, ထုတ်ကုန်စာရင်းနှစ်ခုတွင်ထပ်မကျပါသည့်ကုန်ပစ္စည်း ID ကိုရှာဖွေရန်ကုဒ်သည်အောက်ပါအတိုင်းဖြစ်သည် -

     $list1 = [101, 102, 103, 104];
    $list2 = [102, 104, 105];
    
    $unique_ids = array_diff($list1, $list2);
    print_r($unique_ids);
    

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

     Array
    (
        [0] => 101
        [2] => 103
    )
    
  2. Array_diff_assoc () -
    သင်ခင်းကျင်းမှု၏စံနှုန်းများကိုနှိုင်းယှဉ်ရန်မလိုပါ။ သို့သော်သော့အမည်များ၏ရှေ့နောက်ညီညွတ်မှုကိုလည်းသေချာစေရန်, သို့သော် array_diff_assoc ကို သုံးနိုင်သည်။ ဥပမာအားဖြင့်, အသုံးပြုသူစာရင်းနှစ်ခုတွင်သော့ချက်အမည်မှာအသုံးပြုသူ၏ ID ကိုကိုယ်စားပြုပြီးတန်ဖိုးသည်အသုံးပြုသူ၏သတင်းအချက်အလက်ကိုကိုယ်စားပြုသည်။ အသုံးပြုသူတစ် ဦး စီ၏ ID နှင့်သက်ဆိုင်ရာအချက်အလက်များအတသယ့်ကိုက်ညီမှုရှိကြောင်းသေချာစေရန်လိုအပ်သည်။

    နမူနာဇာတ်လမ်း:
    ဥပမာအားဖြင့်, သင်သည်အသုံးပြုသူသတင်းအချက်အလက်များကိုဝေငှနိုင်ပြီးကွဲပြားခြားနားသောသော့အမည်များနှင့်တန်ဖိုးများဖြင့်ပစ္စည်းများကိုရှာဖွေလိုသည်။

     $users1 = [1 => "Alice", 2 => "Bob", 3 => "Charlie"];
    $users2 = [1 => "Alice", 2 => "Eve", 4 => "David"];
    
    $diff_users = array_diff_assoc($users1, $users2);
    print_r($diff_users);
    

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

     Array
    (
        [2] => Bob
        [3] => Charlie
    )
    

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

  • array_diff () သည်အခြေအနေများတွင်ခင်းကျင်းမှုတန်ဖိုးများကိုသာဂရုပြုမှုရှိမရှိကိုဂရုမစိုက်သည့်အခြေအနေများအတွက်သင့်တော်သည်။

  • array_diff_assoc () သည် သော့ချက်အမည်နှင့်တန်ဖိုးသည်တသမတ်တည်းဖြစ်ကြောင်းစဉ်းစားရန်လိုအပ်သည့်အခါပိုမိုသက်ဆိုင်သည်။

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