Maison > développement back-end > Problème PHP > php supprime les bases de données en double du tableau

php supprime les bases de données en double du tableau

PHPz
Libérer: 2023-05-24 14:15:10
original
527 Les gens l'ont consulté

PHP est un langage de programmation côté serveur populaire largement utilisé pour développer des applications Web. Dans le développement PHP, l’exploitation de bases de données est l’une des exigences les plus courantes. Lorsque nous obtenons des données de la base de données, une duplication des données se produit souvent. Si nous devons dédupliquer ces données en double, nous pouvons utiliser la méthode de déduplication de tableau de PHP pour y parvenir. Cet article explique comment utiliser PHP pour supprimer les données en double des tableaux et appliquer ces opérations à la base de données.

1. Déduplication de tableau PHP

1. Utilisez la fonction array_unique()

PHP fournit la fonction array_unique() pour réaliser la déduplication de tableau. Cette fonction peut renvoyer un tableau dédupliqué sans modifier le tableau d'entrée d'origine. Les exemples d'utilisation sont les suivants :

$array = array('a', 'b', 'c', 'd', 'a', 'b');
$result = array_unique($array);
print_r($result);
Copier après la connexion

Sortie :

Array
(
    [0] => a
    [1] => b
    [2] => c
    [3] => d
)
Copier après la connexion
Copier après la connexion

2. Utilisez les fonctions array_flip() et array_keys()

Une autre façon consiste à utiliser la fonction array_flip() pour échanger les clés et les valeurs du tableau, puis utilisez la fonction array_keys() Obtenez le tableau de noms de clés. Étant donné que les noms de clé sont uniques, cette méthode peut également réaliser une déduplication de tableau. Les exemples d'utilisation sont les suivants :

$array = array('a', 'b', 'c', 'd', 'a', 'b');
$result = array_keys(array_flip($array));
print_r($result);
Copier après la connexion

Sortie :

Array
(
    [0] => a
    [1] => b
    [2] => c
    [3] => d
)
Copier après la connexion
Copier après la connexion

Les principes d'implémentation des deux méthodes sont légèrement différents, mais elles peuvent toutes deux réaliser la déduplication de tableau. Pour les tableaux contenant des données de petite taille, les deux méthodes ne présentent aucun problème de performances. Mais si vous devez dédupliquer un tableau contenant une grande quantité de données, la deuxième méthode fonctionnera mieux.

2. La déduplication du tableau PHP est appliquée à la base de données

Supposons maintenant qu'il existe une table des étudiants avec des enregistrements en double. Utilisez la fonction de déduplication PHP pour les dédupliquer et les stocker dans une nouvelle table des étudiants. L'exemple de code est le suivant :

<?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();
?>
Copier après la connexion

Dans le code, nous nous connectons d'abord à la base de données et récupérons les données de la table des étudiants, puis stockons les données dans un tableau, utilisons la fonction array_unique() pour dédupliquer le tableau, et enfin stocker les données dédupliquées Insérer dans une nouvelle table.

3. Conclusion

Cet article présente la méthode d'utilisation du tableau PHP pour supprimer les doublons, notamment en utilisant la fonction array_unique() et la fonction array_flip(). Ces méthodes constituent des moyens efficaces pour réaliser la déduplication des baies. De plus, nous avons également appliqué ces méthodes à la base de données pour terminer l'opération de suppression des enregistrements en double de la table des enregistrements en double et de les stocker dans une nouvelle table. Il s’agit d’une exigence pratique très courante dans le développement PHP et peut être utilisée de manière flexible dans le développement réel.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal