လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> စွမ်းဆောင်ရည်နှိုင်းယှဉ်ချက် - array_diff () vs array_diff_assoc ()

စွမ်းဆောင်ရည်နှိုင်းယှဉ်ချက် - array_diff () vs array_diff_assoc ()

M66 2025-05-13

PHP တွင် array_diff () နှင့် array_diff_assoc () တွင် အသုံးပြုသောနှစ်ခုသည်များသောအားဖြင့်အသုံးပြုထားသောခင်းကျင်းနှိုင်းယှဉ်လုပ်ဆောင်မှုများဖြစ်သည်။ သူတို့ကမကြာခဏ arrys နှစ်ခုအကြားကွဲပြားခြားနားမှုကိုရှာဖွေရန်မကြာခဏအသုံးပြုကြသည်, ဒါပေမယ့်သူတို့ကွဲပြားခြားနားပြုမူ။ ဤဆောင်းပါးသည်လုပ်ဆောင်ချက်နှစ်ခုနှင့်၎င်းတို့၏စွမ်းဆောင်ရည်ကွဲပြားခြားနားမှုများအကြားကွဲပြားခြားနားမှုများကိုအသေးစိတ်ဆွေးနွေးပါမည်။

1 ။ array_diff () အကျင့်ကိုကျင့်

array_diff () function ကို array နှစ်ခုကိုနှိုင်းယှဉ်ရန်နှင့်ဒုတိယခင်းကျင်းမှုမရှိတဲ့ပထမခင်းကျင်းမှုတွင် element အားလုံးကိုပြန်ပို့ရန်အသုံးပြုသည်။ ၎င်းသည် Array နှစ်ခု၏တန်ဖိုးများကိုနှိုင်းယှဉ်ပြီးခင်းကျင်း၏သော့များကိုလျစ်လျူရှုထားသည်။

သဒ္ဒါ:

 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);  // ထုတ်လုပ်ခြင်း: [0 => 1, 3 => 4]

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

2 ။ array_diff_assoc () အလုပ်လုပ်ပုံ

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

သဒ္ဒါ:

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

ဥပမာ -

 $array1 = [1 => 'a', 2 => 'b', 3 => 'c'];
$array2 = [1 => 'a', 2 => 'x'];

$result = array_diff_assoc($array1, $array2);
print_r($result);  // ထုတ်လုပ်ခြင်း: [3 => 'c']

ဤဥပမာတွင် array_diff_assoc () သည် $ array1 နှင့် $ array2 ၏သော့နှင့်တန်ဖိုးများကိုနှိုင်းယှဉ်ထားသည်။ ၎င်းသည် element c ကို သော့ချက် 3 ဖြင့်ဖော်ပြထားသော Element C သည်ဒုတိယခင်းကျင်းတွင်မတည်ရှိပါ။ ထို့ကြောင့်၎င်းကိုရရှိစေသည်။

3 ။ စွမ်းဆောင်ရည်နှိုင်းယှဉ်: array_diff () နှင့် array_diff_assoc ()

Array_diff () နှင့် array_diff_soc ()) နှင့် array_diff_diff_Assoc () သည်ကွဲပြားခြားနားမှုများကွဲပြားခြားနားမှုများကိုရှာဖွေရန်အသုံးပြုသောလုပ်ဆောင်ချက်များကိုအသုံးပြုသည်။

  • array_diff () သည် တန်ဖိုးများကိုသာနှိုင်းယှဉ်နိုင်သည့်တန်ဖိုးများကိုသာနှိုင်းယှဉ်သည်။

  • Array_Diff_AssoC () တန်ဖိုးများကိုနှိုင်းယှဉ်ရန်သာမကသော့များကိုလည်းနှိုင်းယှဉ်ရန်သာမကသော့များနှင့်နှိုင်းယှဉ်လျှင်အနည်းငယ်ပိုဆိုးလာသည်။

4 ။ ဘယ်တစ်ခုကပိုပြီးထိရောက်သလဲ။

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

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

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

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

အကယ်. သင်၏လျှောက်လွှာတွင်တန်ဖိုးများကိုကွဲပြားမှုကိုသာဂရုစိုက်ပါက array_diff () ကို ရွေးချယ်ခြင်းသည်ပိုမိုကောင်းမွန်သောစွမ်းဆောင်ရည်ကိုဆောင်ကြဉ်းပေးလိမ့်မည်။ သော့နှင့်တန်ဖိုးများကိုတင်းကြပ်စွာလိုက်ဖက်ရန်လိုအပ်ပါက array_diff_assoc () သည်ပိုမိုသင့်လျော်သောရွေးချယ်မှုဖြစ်သည်။