Rumah >pembangunan bahagian belakang >masalah PHP >Bagaimana untuk mengalih keluar pangkalan data pendua daripada tatasusunan php

Bagaimana untuk mengalih keluar pangkalan data pendua daripada tatasusunan php

WBOY
WBOYasal
2023-05-06 16:41:07536semak imbas

Dengan perkembangan berterusan teknologi Internet, pangkalan data telah menjadi komponen yang sangat penting dalam laman web atau aplikasi. PHP sebagai bahasa pengaturcaraan popular digunakan oleh banyak pembangun web untuk membina laman web dinamik. Apabila membangunkan aplikasi, anda mungkin perlu menyimpan data dalam pangkalan data dan mendapatkan semula data daripadanya. Dalam pangkalan data, data pendua kadangkala muncul. Data pendua boleh menggunakan banyak ruang storan dan memberi kesan kepada prestasi aplikasi web. Oleh itu, selain mencipta pangkalan data, anda juga perlu belajar cara membuang data pendua daripadanya. Dalam artikel ini, kita akan membincangkan cara mengalih keluar data pangkalan data pendua menggunakan tatasusunan PHP.

1. Dapatkan data daripada pangkalan data

Sebelum menggunakan tatasusunan PHP untuk mengalih keluar data pangkalan data pendua, kita perlu mendapatkan data daripada pangkalan data terlebih dahulu. Di sini, kami menggunakan pangkalan data MySQL sebagai contoh. Katakan kita mempunyai jadual bernama "pelajar" yang mengandungi maklumat seperti nama pelajar, umur, jantina dan kelas. Berikut ialah pertanyaan asas untuk mendapatkan nama pelajar:

$conn = mysqli_connect("localhost", "username", "password", "dbname");

$sql = "SELECT name FROM student";

$result = mysqli_query($conn, $sql);

if (mysqli_num_rows($result) > 0) {

    while($row = mysqli_fetch_assoc($result)) {

        $names[] = $row["name"];

    }

} else {

    echo "0 results";

}

mysqli_close($conn);

Dalam contoh ini, kita mula-mula menyambung ke pangkalan data dan kemudian menanyakan jadual "pelajar" untuk nama semua pelajar. Dengan menggunakan fungsi mysqli_fetch_assoc(), kita boleh mengambil set hasil daripada pangkalan data dan memasukkannya ke dalam tatasusunan. Jika pertanyaan tidak mengembalikan hasil, "0 hasil" dikeluarkan kepada penyemak imbas.

2. Gunakan tatasusunan PHP untuk mengalih keluar data pendua

Setelah kami mengambil data daripada pangkalan data dan menyimpannya dalam tatasusunan, kami boleh menggunakan fungsi terbina dalam PHP array_unique() Alih keluar data pendua. Berikut ialah contoh mudah:

$unique_names = array_unique($names);

Dalam contoh ini, kami memanggil fungsi array_unique() dan lulus dalam array $name yang terdiri daripada nama pelajar. Fungsi ini hanya akan mengembalikan nama unik (bukan pendua) dan menyimpannya dalam pembolehubah $unique_names. Jadi jika kita menaip $unique_names dalam penyemak imbas, setiap nama pelajar akan dipaparkan sekali sahaja.

print_r($unique_names); //输出去重后的学生姓名

3. Masukkan data unik ke dalam jadual baharu

Sekarang kami telah memperoleh nama pelajar yang unik dan menyimpannya dalam pembolehubah $unique_names menggunakan fungsi array_unique() PHP. Kami kemudiannya boleh memasukkan data unik ini ke dalam jadual lain. Berikut ialah pertanyaan asas untuk memasukkan data ke dalam jadual baharu:

$conn = mysqli_connect("localhost", "username", "password", "dbname");

foreach ($unique_names as $name) {

    $sql = "INSERT INTO new_student (name) VALUES ('$name')";

    mysqli_query($conn, $sql);

}

mysqli_close($conn);

Dalam contoh ini, kami mula-mula menyambung ke pangkalan data dan menggunakan gelung foreach untuk mengulangi tatasusunan $unique_names. Kami kemudian memasukkan setiap nama unik ke dalam jadual baharu yang dipanggil "pelajar_baru". Akhirnya, kami menutup sambungan ke pangkalan data.

Dengan cara ini kami boleh mengalih keluar data pendua dengan mudah daripada pangkalan data dan memasukkan data unik ke dalam jadual baharu menggunakan tatasusunan PHP.

4. Gunakan pilihan DISTINCT untuk mendapatkan data unik

Selain menggunakan tatasusunan PHP, kami juga boleh menggunakan pilihan DISTINCT pertanyaan SQL untuk mendapatkan data unik daripada pangkalan data. Berikut ialah pertanyaan asas untuk mendapatkan senarai unik nama pelajar:

$conn = mysqli_connect("localhost", "username", "password", "dbname");

$sql = "SELECT DISTINCT name FROM student";

$result = mysqli_query($conn, $sql);

if (mysqli_num_rows($result) > 0) {

    while($row = mysqli_fetch_assoc($result)) {

        echo $row["name"];

    }

} else {

    echo "0 results";

}

mysqli_close($conn);

Dalam contoh ini, kami membuat pertanyaan untuk nama pelajar dan mendapatkan senarai nama unik menggunakan pilihan DISTINCT. Jika pertanyaan tidak mengembalikan hasil, "0 hasil" adalah output. Jika tidak, kami mengulangi set hasil dan mencetak setiap nama pelajar yang berbeza.

5. Ringkasan

Dalam artikel ini, kami meneroka cara mengalih keluar data pangkalan data pendua menggunakan tatasusunan PHP. Kami menggunakan pangkalan data MySQL sebagai contoh dan menunjukkan cara mendapatkan nama pelajar daripada jadual data dan mengalih keluar pendua dengan mudah menggunakan array_unique() PHP dan pilihan DISTINCT bagi pertanyaan SQL. Akhir sekali, kami juga menunjukkan cara memasukkan data unik ke dalam jadual baharu. Selain itu, penyahduplikasian boleh dicapai menggunakan kaedah lain, seperti menggunakan pilihan GROUP BY atau menyimpan data dalam jadual cincang. Tetapi menggunakan tatasusunan PHP adalah kaedah yang mudah dan berkesan, terutamanya sesuai untuk aplikasi dan pangkalan data kecil.

Atas ialah kandungan terperinci Bagaimana untuk mengalih keluar pangkalan data pendua daripada tatasusunan php. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn