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

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

M66 2025-05-17

Array_diff () သည် PHP တွင် Array function တစ်ခုဖြစ်သည်။ ဒီလုပ်ဆောင်ချက်ကခင်းကျင်းမှုကိုမနှိုင်းယှဉ်ပါ။

သဒ္ဒါ:

 array_diff(array $array1, array $array2, array ...$arrays): array
  • $ array1 : ပထမ ဦး ဆုံးခင်းကျင်း (နှိုင်းယှဉ်အတွက်အသုံးပြုတဲ့ benchmark ခင်းကျင်း) ။

  • $ array2, ... $ arrays : အခြား Arrays: အခြား Arrays, arrays မျိုးစုံ parameters တွေကိုအဖြစ်နှိုင်းယှဉ်နိုင်ပါတယ်။

ဤလုပ်ဆောင်ချက်သည် ဒေါ်လာ array 1 တွင်ပေါ်လာသောဒြပ်စင်များပါ 0 င်သော array တစ်ခုနှင့် အခြား array2 နှင့်အခြား array များမဟုတ်ပါ။

2 ။ ပြ problems နာများကိုဖြေရှင်းရန်နောက်ခံ

အသုံးပြုသူရဲ့အီးမေးလ်လိပ်စာကိုသိုလှောင်ထားတဲ့ဒေတာဘေ့စ်ရှိတယ်ဆိုပါစို့။ uploaded Mailbox စာရင်းကို database ရှိစာတိုက်ပုံးများနှင့်နှိုင်းယှဉ်ရန် array_diff () function ကိုလျင်မြန်စွာရှာဖွေရန် (သို့) ဒေတာဘေ့စ်တွင်မတင်ပါနှင့်ဒေတာဘေ့စ်တွင်မတင်ထားပါ။

3 ။ ဒေတာဘေ့စ်ဆက်သွယ်မှုနှင့်စုံစမ်းမှု

ဒေတာ ဘေ့ စ်ကို User_DB အမည်ရှိသည့် Database Connection ကိုပထမ ဦး ဆုံးသတ်မှတ်ထားကြပါစို့။ သုံးစွဲသူ၏စာတိုက်ပုံးကိုသိမ်းဆည်းရန် Field email တစ်ခုရှိသည်။

 <?php
// ဒေတာဘေ့စ်ဆက်သွယ်မှုသတင်းအချက်အလက်
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "user_db";

// ဆက်သွယ်မှုတစ်ခုဖန်တီးပါ
$conn = new mysqli($servername, $username, $password, $dbname);

// ဆက်သွယ်မှုကိုစစ်ဆေးပါ
if ($conn->connect_error) {
    die("ဆက်သွယ်မှုမအောင်မြင်ပါ: " . $conn->connect_error);
}

// ဒေတာဘေ့စ်ရှိစာတိုက်ပုံးများအားလုံးကိုမေးမြန်းပါ
$sql = "SELECT email FROM users";
$result = $conn->query($sql);

// ဒေတာဘေ့စ်ရှိစာတိုက်ပုံးများကို array ထဲသို့သိမ်းပါ
$dbEmails = [];
if ($result->num_rows > 0) {
    while ($row = $result->fetch_assoc()) {
        $dbEmails[] = $row['email'];
    }
}
$conn->close();
?>

ဤကုဒ်တွင်ကျွန်ုပ်တို့သည်ဒေတာဘေ့စ် သုံးစွဲသူ user_DB နှင့်ပထမဆုံးဆက်သွယ်ပါ။ ထို့နောက် အသုံးပြုသူများ စားပွဲမှအီးမေးလ်လိပ်စာအားလုံးကိုရယူပြီး၎င်းတို့ကို $ dibemails array သို့သိမ်းဆည်းပါ။

4 ။ တင်ထားသောစာတိုက်ပုံးဒေတာကိုရယူပါ

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

 <?php
// ဤသည်တင်ထားသည့်စာတိုက်ပုံးဒေတာများဖြစ်သည်ဟုယူဆပါ
$uploadedEmails = [
    'user1@example.com',
    'user2@example.com',
    'user3@example.com',
    'user4@example.com'
];
?>

5 ။ ခြွင်းချက်မှတ်တမ်းများကိုရှာဖွေရန် Array_diff () function ကိုသုံးပါ

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

 <?php
// upload စာရင်းထဲတွင်စာတိုက်ပုံးကိုရှာဖွေပါ။ သို့သော်ဒေတာဘေ့စ်တွင်မပါ
$diffEmails = array_diff($uploadedEmails, $dbEmails);

// output ကိုခြွင်းချက်မှတ်တမ်း
if (!empty($diffEmails)) {
    echo "အောက်ပါစာတိုက်ပုံးသည်ဒေတာဘေ့စ်တွင်မရှိပါ:<br>";
    foreach ($diffEmails as $email) {
        echo $email . "<br>";
    }
} else {
    echo "တင်ထားသောစာတိုက်ပုံးများအားလုံးသည်ဒေတာဘေ့စ်တွင်ရှိသည်。";
}
?>

6 ။ နမူနာကုဒ်ဖြည့်စွက်

အထက်ပါကုဒ်များအားလုံးကိုပေါင်းစပ်ခြင်းဖြင့် PHP အစီအစဉ်သည်အောက်ပါအတိုင်းဖြစ်သည် -

 <?php
// ဒေတာဘေ့စ်ဆက်သွယ်မှုသတင်းအချက်အလက်
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "user_db";

// ဆက်သွယ်မှုတစ်ခုဖန်တီးပါ
$conn = new mysqli($servername, $username, $password, $dbname);

// ဆက်သွယ်မှုကိုစစ်ဆေးပါ
if ($conn->connect_error) {
    die("ဆက်သွယ်မှုမအောင်မြင်ပါ: " . $conn->connect_error);
}

// ဒေတာဘေ့စ်ရှိစာတိုက်ပုံးများအားလုံးကိုမေးမြန်းပါ
$sql = "SELECT email FROM users";
$result = $conn->query($sql);

// ဒေတာဘေ့စ်ရှိစာတိုက်ပုံးများကို array ထဲသို့သိမ်းပါ
$dbEmails = [];
if ($result->num_rows > 0) {
    while ($row = $result->fetch_assoc()) {
        $dbEmails[] = $row['email'];
    }
}
$conn->close();

// ဤသည်တင်ထားသည့်စာတိုက်ပုံးဒေတာများဖြစ်သည်ဟုယူဆပါ
$uploadedEmails = [
    'user1@example.com',
    'user2@example.com',
    'user3@example.com',
    'user4@example.com'
];

// upload စာရင်းထဲတွင်စာတိုက်ပုံးကိုရှာဖွေပါ။ သို့သော်ဒေတာဘေ့စ်တွင်မပါ
$diffEmails = array_diff($uploadedEmails, $dbEmails);

// output ကိုခြွင်းချက်မှတ်တမ်း
if (!empty($diffEmails)) {
    echo "အောက်ပါစာတိုက်ပုံးသည်ဒေတာဘေ့စ်တွင်မရှိပါ:<br>";
    foreach ($diffEmails as $email) {
        echo $email . "<br>";
    }
} else {
    echo "တင်ထားသောစာတိုက်ပုံးများအားလုံးသည်ဒေတာဘေ့စ်တွင်ရှိသည်。";
}
?>