Dans le développement réel, nous devons souvent effacer les données en double d'un tableau. En PHP, supprimer les données en double est une tâche facile car PHP fournit de nombreuses fonctions intégrées pour accomplir cette tâche.
Voici quelques fonctions intégrées de PHP qui peuvent être utilisées pour supprimer les données en double dans les tableaux :
array_unique() peut être utilisée pour dédupliquer des tableaux. Il renvoie un nouveau tableau contenant toutes les valeurs distinctes du tableau d'origine.
Utilisation :
$array = array("a","b","c","d","a","b","e"); $new_array = array_unique($array); print_r($new_array);
Sortie :
Array( [0] => a [1] => b [2] => c [3] => d [6] => e )
La fonction Array_diff() peut être utilisée pour comparer deux tableaux et renvoyer un nouveau tableau contenant différents éléments.
Utilisation :
$array1 = array("a","b","c","d","a","b","e"); $array2 = array("c", "d", "e", "f"); $new_array = array_diff($array1, $array2); print_r($new_array);
Sortie :
Array( [0] => a [1] => b )
La fonction Array_merge() peut être utilisée pour fusionner plusieurs tableaux en un seul tableau. S'il y a des données en double après la fusion, la dernière valeur survenue sera conservée.
Utilisation :
$array1 = array("a","b","c","d","a","b","e"); $array2 = array("c", "d", "e", "f"); $new_array = array_merge($array1, $array2); print_r($new_array);
Sortie :
Array( [0] => a [1] => b [2] => c [3] => d [4] => a [5] => b [6] => e [7] => c [8] => d [9] => e [10] => f )
La fonction array_intersect() peut être utilisée pour comparer deux tableaux et renvoyer un nouveau tableau contenant des éléments qui existent dans les deux tableaux.
Utilisation :
$array1 = array("a","b","c","d","a","b","e"); $array2 = array("c", "d", "e", "f"); $new_array = array_intersect($array1, $array2); print_r($new_array);
Sortie :
Array( [2] => c [3] => d [6] => e )
Si vous souhaitez supprimer toutes les données en double dans le tableau, vous pouvez utiliser les fonctions ci-dessus en combinaison. La méthode spécifique est la suivante :
$array1 = array("a","b","c","d","a","b","e"); $array2 = array("c", "d", "e", "f"); $new_array = array_merge(array_diff($array1, array_intersect($array1, $array2)), array_diff($array2, array_intersect($array1, $array2))); print_r($new_array);
Sortie :
Array( [0] => a [1] => b [4] => f )
La méthode ci-dessus peut effacer toutes les données en double dans le tableau et conserver tous les différents éléments. Si vous devez conserver le premier ou le dernier dans les données en double, vous pouvez utiliser la méthode suivante :
Conserver le premier dans les données en double :
$new_array = array_unique($array1);
Conserver le dernier dans les données en double :
$new_array = array_intersect($array1, array_unique(array_reverse($array1)));
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!