လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> နှစ်ခုရှုထောင့်ဒေတာကွဲပြားခြားနားမှုများကိုကိုင်တွယ်ရန် Array_diff () နှင့် array_colnum () ကိုသုံးပါ

နှစ်ခုရှုထောင့်ဒေတာကွဲပြားခြားနားမှုများကိုကိုင်တွယ်ရန် Array_diff () နှင့် array_colnum () ကိုသုံးပါ

M66 2025-05-17

PHP ပရိုဂရမ်တွင်ရှုထောင့်နှစ်ခုကိုခင်းကျင်းစေရန်လုပ်ဆောင်သောအခါ arry နှစ်ခုအကြားခြားနားချက်ကိုရှာဖွေရန်လိုအပ်သည့်အခြေအနေများနှင့်သင်မကြာခဏကြုံတွေ့ရလေ့ရှိသည်။ ကံကောင်းထောက်မစွာပင် PHP သည်အစွမ်းထက်သော functions array_diff () နှင့် array_column () နှင့် array_column () ကို ထောက်ပံ့ပေးသည်။ ဤဆောင်းပါးသည်နှစ်ရှုထောင်ခင်းကျင်းမှုတွင်ဒေတာကွဲပြားမှုများရှိဒေတာကွဲပြားခြားနားမှုများကိုထိရောက်စွာကိုင်တွယ်ရန်ဤလုပ်ငန်းဆောင်တာနှစ်ခုကိုမည်သို့အသုံးပြုရမည်ကိုဖော်ပြရန်ဖော်ပြလိမ့်မည်။

1 ။ array_diff () function ကိုမိတ်ဆက်

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

သဒ္ဒါ:

 array_diff(array $array1, array ...$arrays): array
  • $ array1 : ပထမ ဦး ဆုံးခင်းကျင်း။

  • $ arrays - နှိုင်းယှဉ်မှုအတွက်တစ်ခုသို့မဟုတ်တစ်ခုထက်ပိုသောခင်းကျင်းမှု။

2 ။ array_column () function ကိုမိတ်ဆက်

array_column () function ကိုနှစ်ရှုထောင်ခင်းကျင်းမှုမှကော်လံ၏အချက်အလက်များကိုထုတ်ယူပြီးကော်လံ၏တန်ဖိုးများအားလုံးပါ 0 င်သည့်ခင်းကျင်းမှုကိုပြန်ပေးရန်အသုံးပြုသည်။ ရှုပ်ထွေးသောနှစ်ခုရှုထောင်ခင်းကျင်းမှုများကိုကိုင်တွယ်ရာတွင်၎င်းသည်အထူးသဖြင့်သင်၌အချက်အလက်များ၏အချက်အလက်ကော်လံကိုသာလုပ်ဆောင်ရန်လိုအပ်သည့်အခါအလွန်အသုံးဝင်သည်။

သဒ္ဒါ:

 array_column(array $array, mixed $column_key, mixed $index_key = null): array
  • $ array : input ကို 2D ခင်းကျင်း။

  • $ column_key : ကော်လံ၏သော့ကိုထုတ်ယူရန်။

  • $ index_key : ရလဒ်ခင်းကျင်းမှုအတွက်ထုံးစံအညွှန်းကိန်းပေးရန် optional ကို, optional, သော့။

3 ။ ဥပမာ - 2D array မှ 2D array's array_diff () နှင့် array_colum () ခြားနားချက်ကိုဘယ်လိုနှိုင်းယှဉ်နိုင်မလဲ ()

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

 <?php
// အခင်းအကျင်းA:အသုံးပြုသူအချက်အလက်များ(နာမည်ထည့်ပါ、အသက်နှင့်အီးမေးလ်)
$arrayA = [
    ['name' => 'Alice', 'age' => 25, 'email' => 'alice@example.com'],
    ['name' => 'Bob', 'age' => 30, 'email' => 'bob@example.com'],
    ['name' => 'Charlie', 'age' => 35, 'email' => 'charlie@example.com'],
];

// အခင်းအကျင်းB:已有အသုံးပြုသူအချက်အလက်များ
$arrayB = [
    ['name' => 'Alice', 'age' => 25, 'email' => 'alice@example.com'],
    ['name' => 'David', 'age' => 40, 'email' => 'david@example.com'],
];

// 提取အခင်းအကျင်းA和အခင်းအကျင်းBအိမ်တွင်းemailစာရင်း
$emailsA = array_column($arrayA, 'email');
$emailsB = array_column($arrayB, 'email');

// အသုံးပြုarray_diff()找出在အခင်းအကျင်းAအလယ်ပိုင်း但不在အခင်းအကျင်းBအိမ်တွင်းemail
$diffEmails = array_diff($emailsA, $emailsB);

// ခြားနားချက်ဒေတာကိုရယူပါ(在အခင်းအကျင်းAအလယ်ပိုင်း但不在အခင်းအကျင်းBအလယ်ပိုင်း)
$diffData = [];
foreach ($arrayA as $user) {
    if (in_array($user['email'], $diffEmails)) {
        $diffData[] = $user;
    }
}

// differential ဒေတာ output ကို
echo "<pre>";
print_r($diffData);
echo "</pre>";
?>

4 ။ ကုဒ်ရှင်းပြချက်

  1. Email Column ကို Extract: ကျွန်ုပ်တို့နှစ်ဖက်ခြားရေး array မှအသုံးပြုသူများအားလုံး၏အီးမေးလ်လိပ်စာများကိုထုတ်ယူရန် array_column () ကို သုံး. အီးမေးလ်လိပ်စာအားလုံးပါ 0 င်သည့် array_column () ကို ထုတ်လုပ်သည်

  2. Email emailsa ရှိ အီးမေးလ်လိပ်စာကိုရှာဖွေရန်အီးမေးလ်လိပ်စာနှစ်ခုကိုရှာဖွေရန် array_diff () function ကိုသုံးပါ ပြန်လာသော $ ပျံ့နှံ့နေသော array များသည်ကွဲပြားခြားနားသောအီးမေးလ်များပါရှိသည်။

  3. ခြားနားချက်အချက်အလက်များကိုရယူပါ။ နောက်ဆုံးတွင်ကျွန်ုပ်တို့သည် Earraya ကိုကွဲပြားခြားနားသောသတင်းအချက်အလက်ကိုပြောင်းလဲခြင်း၏အီးမေးလ်လိပ်စာကို အခြေခံ. ရရန် ဒေါ်လာ ar ရာကို ဖြတ်သန်းသွားသည်။ အသုံးပြုသူတစ် ဦး စီ၏အီးမေးလ်သည် _array () function မှတဆင့် ဒေါ်လာကွဲပြားမှု ရှိမရှိကိုကျွန်ုပ်တို့စစ်ဆေးသည်။ အကယ်. ဆိုပါကအသုံးပြုသူအချက်အလက်ကို $ diradata array သို့ထည့်ပါ။

  4. ရလဒ် - ရလဒ် array $ diray ကို array အတွက်အသုံးပြုသူသတင်းအချက်အလက်အားလုံးပါ 0 င သည်

5 ။ output ရလဒ်

အထက်ပါကုဒ်များအရ output သည် -

 Array
(
    [0] => Array
        (
            [name] => Bob
            [age] => 30
            [email] => bob@example.com
        )
    [1] => Array
        (
            [name] => Charlie
            [age] => 35
            [email] => charlie@example.com
        )
)

အပေါ်ကပြထားတဲ့အတိုင်း Bob နဲ့ Charlie တို့မှာ array b . မှာမရှိတဲ့အသုံးပြုသူများဖြစ်ကြသည်။