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

array_diff () နှင့်ကိန်းဂဏန်းအညွှန်းကိန်း၏ထောင်ချောက်

M66 2025-05-14

PHP တွင် array_diff () function သည်နှစ်ခုသို့မဟုတ်နှစ်ခုထက်ပိုသော array များနှင့်နှိုင်းယှဉ်ရန်နှင့်ပထမခင်းကျင်းမှုတွင်တည်ရှိနေသောဒြပ်စင်များပါ 0 င်သော array ကိုပြန်ပို့လေ့ရှိသည်။ ဤလုပ်ဆောင်ချက်သည်အလွန်အသုံးများသော,

1 ။ array_diff ၏အခြေခံအသုံးပြုမှု ()

array_diff () function သည် parrays နှစ်ခုသို့မဟုတ်နှစ်ခုထက်ပိုသော array နှစ်ခုသို့မဟုတ်နှစ်ခုထက်ပိုယူပြီးဤ array ၏အစိတ်အပိုင်းများကိုနှိုင်းယှဉ်။ အခြားခင်းကျင်းမှုတွင်တည်ရှိသောတန်ဖိုးများကိုထည့်သွင်းထားသည်။ ဥပမာအားဖြင့်:

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

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

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

အထက်ပါဥပမာတွင် array_diff ()) array -array 1 တွင်တည်ရှိခဲ့သောဒြပ်စင်များကိုပြန်ပို့သော်လည်း ဒေါ်လာ array2 - 1 နှင့် 4 တွင်မပါ 0 င်ပါ။

2 ။ ဒီဂျစ်တယ်အညွှန်းကိန်း၏ထောင်ချောက်

သို့သော် array_diff () ကိုသုံးသောအခါ () array add array တွင်သင်တစ်ခါတစ်ရံမမျှော်လင့်သောအပြုအမူအချို့ကိုကြုံတွေ့ရနိုင်သည်။

2.1 ခင်းကျင်း၏သော့များကိုထိန်းသိမ်းထားပါမည်

Array_diff () သည်ခင်းကျင်းမှု၏တန်ဖိုးများကိုနှိုင်းယှဉ်ရုံသာမကခင်းကျင်းနေသောသော့များကိုလည်းနှိုင်းယှဉ်သည်။ ဆိုလိုသည်မှာပြန်လည်နေရာချထားခြင်းအစားပြန်လာသောခင်းကျင်းသောခင်းကျင်းမှုသည်ပထမဆုံးခင်းကျင်းသောနေရာမှသော့များကိုပြန်လည်ရယူရန်ဖြစ်သည်။

ဥပမာအားဖြင့်:

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

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

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

Arrays 1 တွင် Elements 1 နှင့် 4 သော်လည်း array2 တွင်မပေါ်သော်လည်းပြန်လာသောရလဒ်သည်မူလအဓိကတန်ဖိုးများ ( 0 နှင့် 3 ) ဆက်လက်ထိန်းသိမ်းထားဆဲဖြစ်သည်။ ဤအပြုအမူသည်သင့်အားပြန်လည်ပြင်ဆင်ရန်အတွက် Readed Array ကို Reetexed သို့ပြန်လည်ရောက်ရှိမည်ဟုမျှော်လင့်ပါကသင့်အားအနှောက်အယှက်ဖြစ်စေနိုင်သည်။

2.2 အဓိကတန်ဖိုးများသည်ယုတ္တိအမှားများဖြစ်ပေါ်စေနိုင်သည်

တစ်ခါတစ်ရံတွင်ခင်းကျင်းနေသောကိန်းဂဏန်းအညွှန်းကိန်းသည်ရလဒ်ကိုမျှော်လင့်ချက်များနှင့်မကိုက်ညီပါစေနိုင်သည်။ ဥပမာအားဖြင့်, သင်သည်အချက်အလက်အပြောင်းအလဲများကိုပြုလုပ်နေစဉ်, နောက်ဆက်တွဲစစ်ဆင်ရေးအတွက်အညွှန်းကိန်း များကို မှီခိုခြင်း, ဥပမာအားဖြင့်:

 $array1 = [10, 20, 30, 40];
$array2 = [20, 30];
$result = array_diff($array1, $array2);
print_r($result);

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

 Array
(
    [0] => 10
    [3] => 40
)

ပြန်လည်ပြင်ဆင်ထားသောခင်းကျင်းတွင် 10 နှင့် 40 သာကျန်သော်လည်း, သူတို့သည်မူလအညွှန်းကိုဆက်လက်ထိန်းသိမ်းထားဆဲဖြစ်သည်။ ရလဒ်များကိုသင်လုပ်ဆောင်ရန်လိုအပ်ပါကမမှန်ကန်ကြောင်းအညွှန်းများကြောင့်ပြ problems နာအချို့ဖြစ်နိုင်သည်။

2.3 ဖြေရှင်းချက်: Reindex ခင်းကျင်း

array_diff () ကို RerayiFiFiff () ကိုဖြေရှင်းရန်ပြ the နာကိုဖြေရှင်းရန်, array_values ​​() function ကိုသုံးနိုင်သည်။

 $array1 = [10, 20, 30, 40];
$array2 = [20, 30];
$result = array_diff($array1, $array2);
$result = array_values($result);
print_r($result);

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

 Array
(
    [0] => 10
    [1] => 40
)

Array_values ​​() () Rewarded Array ကိုမူရင်းခင်းကျင်းမှုမှအညွှန်းကိန်းကိုထိန်းသိမ်းခြင်းမပြုဘဲပြန်လည်ပြင်ဆင်ရန်သေချာစေနိုင်သည်။

3 ။ အမေးအဖြေများအကျဉ်းချုပ် array_diff ()

  • အဓိကကြိုတင်မှာကြားထားခြင်း - array_diff () သည် မူလခင်းကျင်းမှု၏အဓိကတန်ဖိုးကိုဆက်လက်ထိန်းသိမ်းထားသည်။

  • Array_diff () သည် array_diff () သည် တန်ဖိုးများကို အခြေခံ. ခင်းကျင်းမှုများကိုနှိုင်းယှဉ်သည်။

  • Reindex : အကယ်. သင်သည် array ကို Readex ကို Reindex ကို Reindex ကို Reakex ကိုအသုံးပြုရန်လိုအပ်ပါကအညွှန်းကိန်းမတိုက်ဆိုင်မှုကိုရှောင်ရှားရန် array_values ​​() ကို သုံးနိုင်သည်။

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

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

array_diff () function ကိုနားလည်သဘောပေါက်ခြင်းအားဖြင့်အထူးသဖြင့်ခင်းကျင်း၏သော့ချက်များနှင့်တန်ဖိုးများကိုမည်သို့ကိုင်တွယ်ပုံကိုသင်ဤ "ထောင်ချောက်များ၏" ကိုပိုမိုရှောင်ရှားနိုင်ပြီးဤ function ကိုထိရောက်စွာအသုံးပြုနိုင်သည်။