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

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

M66 2025-06-06

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

1 ။ array_diff () function ကိုနားလည်ပါ

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

function ကိုအဓိပ္ပါယ်:

 array_diff(array $array1, array $array2, array ...$arrays): array
  • $ array1 : နှိုင်းယှဉ်ခံရဖို့ပထမ ဦး ဆုံးခင်းကျင်း။

  • $ array2, ... $ arrays : ပထမ ဦး ဆုံးခင်းကျင်းနှင့်နှိုင်းယှဉ်သောတစ်ခုသို့မဟုတ်တစ်ခုထက်ပိုသော array တစ်ခု။

2 ။ မိတ္တူပွားများကို array_diff () မှတဆင့်တင်သွင်းသောအကြောင်းအရာများကိုမည်သို့ရှင်းလင်းသနည်း။

ကျွန်ုပ်တို့တွင်အသုံးပြုသူလက်အောက်ခံပုံစံဒေတာများပါ 0 င်သည့်အသုံးပြုသူလက်အောက်ခံပုံစံအချက်အလက်များရှိပြီးပုံတူပွားများရှိနိုင်သည်ဆိုပါစို့။ ဤမိတ္တူပွားများကိုသန့်ရှင်းရေးလုပ်ရန်ကျွန်ုပ်တို့ array_diff () function ကိုသုံးနိုင်သည်။

ဥပမာ - အသုံးပြုသူများမှတင်သွင်းသောအီးမေးလ်လိပ်စာများကိုရှင်းလင်းပါ

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

 <?php
// အသုံးပြုသူတစ် ဦး မှတင်ပြသောအီးမေးလ်လိပ်စာတစ်ခုဖန်တီးပါ
$userEmails = [
    'user1@example.com',
    'user2@example.com',
    'user1@example.com',
    'user3@example.com',
    'user2@example.com'
];

// ထပ်တူအီးမေးလ်လိပ်စာများကိုရှင်းလင်းပါ
$uniqueEmails = array_values(array_diff($userEmails, array_diff($userEmails, [])));

// output ကိုစင်ကြယ်သောရလဒ်များကို
echo 'စင်ကြယ်သောအီးမေးလ်လိပ်စာ:';
print_r($uniqueEmails);
?>

ခွဲခြမ်းစိတ်ဖြာခြင်း

  1. array_diff ($ useremails, array_diff ($ user_diff ($ useremiff (]))) ပထမ ဦး ဆုံးအခြားဒြပ်စင်များနှင့်ထပ်ခါတလဲလဲအသုံးပြုသောအသုံးပြုသူထည့်သွင်းမှု၏အစိတ်အပိုင်းကို array_diff () မှတဆင့်ရရှိသည်။

  2. ရလဒ်ခင်းကျင်းမှုတွင်အညွှန်းကိန်းကိုရှောင်ရှားရန်အညွှန်းကိန်းကိုပြန်လည်တည်ဆောက်ရန် array_values ​​() ကို သုံးပါ။

output ရလဒ်ဖြစ်လိမ့်မည်:

 စင်ကြယ်သောအီးမေးလ်လိပ်စာ:
Array
(
    [0] => user1@example.com
    [1] => user2@example.com
    [2] => user3@example.com
)

3 ။ array_diff ၏အသုံးပြုမှုကိုပိုမိုကောင်းမွန်အောင်လုပ်နည်း။

Array_diff () သည်အလွန်အစွမ်းထက်သောကိရိယာတစ်ခုဖြစ်သော်လည်းအချို့သောကိစ္စရပ်များတွင်အထူးသဖြင့် Array data volume အလွန်ကြီးမားသည့်အခါတွင်အချို့သောကိစ္စရပ်များတွင်စွမ်းဆောင်ရည်ပြ problems နာများရှိနိုင်သည်။ ဤတွင်အချို့သော optimization သိကောင်းစရာများရှိပါတယ်:

1 ။ array_diff () အကြိမ်ပေါင်းများစွာမသုံးပါနှင့်

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

2 ။ Associative Arrays ကိုသုံးပါ

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

 <?php
$array1 = [
    'a' => 'apple',
    'b' => 'banana',
    'c' => 'cherry'
];
$array2 = [
    'a' => 'apple',
    'b' => 'blueberry'
];

$result = array_diff_assoc($array1, $array2);
print_r($result);
?>

3 ။ ခင်းကျင်း၏အရွယ်အစားကိုကန့်သတ်ပါ

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

4 ။ အကောင်းဆုံးအလေ့အကျင့်များ

  1. အသုံးပြုသူ input ကို Verify: array_diff () ကိုအသုံးမပြုခင်အသုံးပြုသူမှတင်ပြသောအကြောင်းအရာကိုလုပ်ဆောင်ရန်အတွက် input data ကိုပထမ ဦး ဆုံးအခြားအမှားအယွင်းများသို့မဟုတ်တရားမဝင်သောအကြောင်းအရာများမရှိကြောင်းပထမ ဦး ဆုံးအတည်ပြုရန်အကောင်းဆုံးဖြစ်သည်။

  2. အမှားကိုင်တွယ်ခြင်း - တင်သွင်းထားသောအချက်အလက်များတွင်ခြွင်းချက်များရှိနိုင်သည်။ Try-catch statement လုပ်ကွက်များကိုအသုံးပြုပါသို့မဟုတ်အပြောင်းအလဲနဲ့နေစဉ်အတွင်းအမှားအယွင်းများကိုရှောင်ရှားရန်အချက်အလက်များ၏တရားဝင်မှုကိုစစ်ဆေးပါ။

  3. စွမ်းဆောင်ရည် optimization - အစောပိုင်းတွင်ဖော်ပြခဲ့သည့်အတိုင်းဖော်ပြခဲ့သည့်အတိုင်းအချက်အလက်အမြောက်အများကိုပြုပြင်သောအခါမလိုမုန်းထားသည့် function ခေါ်ဆိုမှုများကို array ၏အပြောင်းအလဲနဲ့လုပ်ငန်းစဉ်ကိုလျှော့ချခြင်းဖြင့်လျှော့ချနိုင်သည်။

V. နိဂုံးချုပ်

array_diff () သည်မိတ္တူကူးယူထားသောဒေတာများကိုသန့်ရှင်းရေးလုပ်သည့်အခါမလိုအပ်သော element များကိုထိရောက်စွာဖယ်ရှားပေးသည့်အလွန်အသုံး 0 င်သောကိရိယာတစ်ခုဖြစ်သည်။ အမှန်တကယ်ဖွံ့ဖြိုးတိုးတက်မှုတွင်အခြား PHP လုပ်ဆောင်ချက်များကိုပေါင်းစပ်ပြီးကျိုးကြောင်းဆီလျော်သောအချက်အလက်စိစစ်မှုမဟာဗျူဟာများကိုပေါင်းစပ်ခြင်းစနစ်၏တည်ငြိမ်မှုနှင့်စွမ်းဆောင်ရည်ကိုများစွာတိုးတက်စေနိုင်သည်။