Maison >développement back-end >Problème PHP >Comment supprimer les valeurs en double du tableau php

Comment supprimer les valeurs en double du tableau php

PHPz
PHPzoriginal
2023-04-23 19:29:57796parcourir

Lors du développement d'applications Web, nous devons utiliser des tableaux pour stocker et gérer les données. Cependant, nous rencontrons parfois un problème où des données en double apparaissent dans le tableau. Cela affecte non seulement les performances du programme, mais également l'exactitude des données. Par conséquent, dans cet article, nous présenterons comment supprimer les données en double des tableaux PHP afin que nous puissions mieux gérer et manipuler les données.

1. Utilisez les fonctions intégrées de PHP pour supprimer les éléments en double

PHP fournit des fonctions intégrées qui peuvent nous aider à supprimer rapidement les éléments en double. Parmi elles, la fonction la plus couramment utilisée est array_unique(). Il supprime les éléments en double du tableau et renvoie un nouveau tableau. Ce tableau conserve les clés du tableau d'origine et réinitialise les index du nouveau tableau.

$fruits = array("apple", "banana", "orange", "apple");
$unique_fruits = array_unique($fruits);

print_r($unique_fruits);
?> ;

// Résultat de sortie :
// Array
// (
// [0] => pomme
// [1] => banane
// [2] => orange
// )

Le code ci-dessus générera un nouveau tableau qui ne contient pas d'éléments en double.

En plus de la fonction array_unique(), PHP fournit également d'autres fonctions, telles que array_diff(), array_intersect(), etc. Ces fonctions peuvent également supprimer les éléments en double lors de l'utilisation de tableaux. Pour une utilisation spécifique de ces fonctions, veuillez consulter la documentation PHP officielle.

2. Supprimez manuellement les éléments en double des tableaux PHP

En plus d'utiliser les fonctions intégrées, nous pouvons également utiliser des méthodes manuelles pour supprimer les éléments en double des tableaux. Bien que cette méthode soit plus complexe, elle est plus flexible et peut s’avérer plus utile dans certaines situations.

Tout d'abord, nous devons parcourir l'ensemble du tableau, puis utiliser un nouveau tableau pour stocker les données dédupliquées.

$fruits = array("apple", "banana", "orange", "apple");
$unique_fruits = array();

foreach($fruits as $fruit){

if(!in_array($fruit, $unique_fruits)) {
    $unique_fruits[] = $fruit;
}

}

print_r($unique_fruits);
?>

// Résultat de sortie :
// Array
// (
// [0] => pomme
// [1] => banane
// [2] => orange
// )

Dans le code ci-dessus, nous utilisons une boucle foreach pour parcourir le tableau $fruits, puis utilisons la fonction in_array() pour déterminer si l'élément actuellement parcouru existe déjà dans le Tableau $unique_fruits. S'il n'existe pas, ajoutez-le au tableau $unique_fruits.

En plus d'utiliser la fonction in_array(), nous pouvons également utiliser la fonction array_search() pour savoir si un élément apparaît dans le tableau.

$fruits = array("apple", "banana", "orange", "apple");
$unique_fruits = array();

foreach($fruits as $fruit){

if(array_search($fruit, $unique_fruits) === false) {
    $unique_fruits[] = $fruit;
}

}

print_r($unique_fruits);
?>

// Résultat de sortie :
// Array
// (
// [0] => pomme
// [1] => banane
// [2] => orange
// )

La fonction des deux est de savoir si l'élément apparaît dans le tableau. Cependant, leurs valeurs de retour sont différentes. array_search() renvoie le nom de clé de l'élément dans le tableau, tandis que in_array() renvoie uniquement une valeur booléenne.

Dans l'ensemble, la suppression manuelle des éléments en double des tableaux PHP nécessite plus de code et de soin. Cependant, cette méthode est plus flexible et peut être personnalisée selon nos besoins spécifiques.

3. Quelques autres méthodes

En plus des méthodes présentées ci-dessus, il existe d'autres méthodes qui peuvent nous aider à supprimer les éléments en double dans les tableaux PHP.

Par exemple, nous pouvons utiliser la fonction array_flip() pour échanger des clés et des valeurs, afin de pouvoir profiter du caractère unique des noms de clés du tableau PHP pour supprimer les éléments en double dans le tableau.

$fruits = array("apple", "banana", "orange", "apple");
$unique_fruits = array_flip($fruits);
$unique_fruits = array_flip($unique_fruits);

print_r($unique_fruits);
?>

// Résultat de sortie :
// Array
// (
// [pomme] => 1
// [banane] => 2
// [ orange] => 3
// )

Dans le code ci-dessus, nous échangeons d'abord les clés et valeurs des éléments du tableau $fruits via la fonction array_flip() pour générer un nouveau tableau $unique_fruits. Ensuite, nous utilisons à nouveau la fonction array_flip() pour échanger à nouveau les clés et les valeurs et obtenir un nouveau tableau qui ne contient pas d'éléments en double.

De plus, vous pouvez également utiliser la fonction array_values() pour réindexer les valeurs du tableau et supprimer les noms de clés.

$fruits = array("pomme", "banane", "orange", "pomme");
$unique_fruits = array_values(array_unique($fruits));

print_r($unique_fruits);
?>

// Résultat de sortie :
// Array
// (
// [0] => pomme
// [1] => banane
// [2] => orange
// )

Dans le code ci-dessus, nous utilisons d'abord la fonction array_unique() pour supprimer les éléments en double dans le tableau, puis utilisons la fonction array_values() pour réindexer les valeurs du tableau afin de générer un nouveau tableau.

4. Résumé

Lors du développement d'applications Web, nous devons souvent gérer des données en double. Afin de garantir les performances du programme et l'exactitude des données, nous devons supprimer les éléments en double du tableau.

PHP fournit de nombreuses fonctions intégrées et méthodes de traitement manuel qui peuvent nous aider à supprimer les éléments en double dans les tableaux PHP. Nous pouvons choisir la méthode qui nous convient le mieux en fonction de nos besoins spécifiques et de la taille du code. Quelle que soit la méthode utilisée, vous devez faire attention aux problèmes de lisibilité du code et de performances.

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!

Déclaration:
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