Rumah >pembangunan bahagian belakang >masalah PHP >php alih keluar pangkalan data pendua daripada tatasusunan

php alih keluar pangkalan data pendua daripada tatasusunan

PHPz
PHPzasal
2023-05-24 14:15:10528semak imbas

PHP ialah bahasa pengaturcaraan sebelah pelayan yang popular yang digunakan secara meluas untuk membangunkan aplikasi web. Dalam pembangunan PHP, pangkalan data operasi adalah salah satu keperluan yang sangat biasa. Apabila kita mendapat data daripada pangkalan data, pertindihan data sering berlaku. Jika kita perlu menyahduplikasi data pendua ini, kita boleh menggunakan kaedah penyahduplikasi tatasusunan PHP untuk mencapainya. Artikel ini akan memperkenalkan cara menggunakan PHP untuk mengalih keluar data pendua daripada tatasusunan dan menggunakan operasi ini pada pangkalan data.

1. deduplikasi tatasusunan PHP

1 Gunakan fungsi array_unique()

PHP menyediakan fungsi array_unique() untuk melaksanakan deduplikasi tatasusunan. Fungsi ini mengembalikan tatasusunan pendua tanpa mengubah tatasusunan input asal. Contoh penggunaan adalah seperti berikut:

$array = array('a', 'b', 'c', 'd', 'a', 'b');
$result = array_unique($array);
print_r($result);

Output:

Array
(
    [0] => a
    [1] => b
    [2] => c
    [3] => d
)

2 Gunakan fungsi array_flip() dan array_keys()

Cara lain ialah menggunakan fungsi array_flip(). untuk menukar kunci dan nilai Pertukaran tatasusunan, dan kemudian gunakan fungsi array_keys() untuk mendapatkan tatasusunan kunci. Oleh kerana nama kunci adalah unik, kaedah ini juga boleh mencapai penyahduplikasi tatasusunan. Contoh penggunaan adalah seperti berikut:

$array = array('a', 'b', 'c', 'd', 'a', 'b');
$result = array_keys(array_flip($array));
print_r($result);

Output:

Array
(
    [0] => a
    [1] => b
    [2] => c
    [3] => d
)

Prinsip pelaksanaan kedua-dua kaedah berbeza sedikit, tetapi kedua-duanya boleh mencapai penyahduplikasi tatasusunan. Untuk tatasusunan dengan saiz data yang kecil, kedua-dua kaedah tidak mempunyai masalah prestasi. Tetapi jika anda perlu menyahduplikasi tatasusunan dengan jumlah data yang besar, kaedah kedua akan berprestasi lebih baik.

2. Penyahduplikasi tatasusunan PHP digunakan pada pangkalan data

Sekarang andaikan terdapat jadual pelajar dengan rekod pendua Gunakan fungsi penduaan PHP untuk menyahduplikasi dan menyimpannya dalam jadual pelajar baharu. Contoh kod adalah seperti berikut:

<?php
  //连接数据库
  $servername = "localhost";
  $username = "username";
  $password = "password";
  $dbname = "myDB";

  $conn = new mysqli($servername, $username, $password, $dbname);

  //检测连接
  if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
  }

  //从students表中获取数据
  $sql = "SELECT * FROM students";
  $result = $conn->query($sql);

  //将数据存入一个数组
  $array = array();
  if ($result->num_rows > 0) {
    while($row = $result->fetch_assoc()) {
      $array[] = $row;
    }
  }

  //使用array_unique()函数进行数组去重
  $unique = array_unique($array, SORT_REGULAR);

  //清空旧表
  $sql = "TRUNCATE TABLE students";
  $conn->query($sql);

  //将去重后的数据插入新表
  foreach($unique as $row) {
    $sql = "INSERT INTO students (name,age,grade) VALUES ('" . $row['name'] . "'," . $row['age'] . "," . $row['grade'] . ")";
    $conn->query($sql);
  }

  //关闭数据库连接
  $conn->close();
?>

Dalam kod, kita mula-mula menyambung ke pangkalan data dan mendapatkan data daripada jadual pelajar, kemudian menyimpan data ke dalam tatasusunan, gunakan fungsi array_unique() untuk menyahduplikasi tatasusunan, dan akhirnya pergi Data berulang dimasukkan ke dalam jadual baharu.

3. Kesimpulan

Artikel ini memperkenalkan kaedah menggunakan tatasusunan PHP untuk mengalih keluar pendua, termasuk menggunakan fungsi array_unique() dan fungsi array_flip(). Kaedah ini adalah cara yang berkesan untuk mencapai deduplikasi tatasusunan. Selain itu, kami juga menggunakan kaedah ini pada pangkalan data untuk melengkapkan operasi mengalih keluar rekod pendua daripada jadual rekod pendua dan menyimpannya dalam jadual baharu. Ini adalah keperluan praktikal yang sangat biasa dalam pembangunan PHP dan boleh digunakan secara fleksibel dalam pembangunan sebenar.

Atas ialah kandungan terperinci php alih keluar pangkalan data pendua daripada tatasusunan. 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
Artikel sebelumnya:php untuk melarikan diriArtikel seterusnya:php untuk melarikan diri