Maison >développement back-end >Problème PHP >Comment supprimer les données en double en php

Comment supprimer les données en double en php

藏色散人
藏色散人original
2020-08-05 10:56:176445parcourir

Comment supprimer les données en double en PHP : 1. Utilisez la fonction "array_unique" pour supprimer directement les valeurs en double dans un tableau ; 2. Utilisez la fonction "array_flip" et la fonction "array_keys" pour supprimer les doublons. données.

Comment supprimer les données en double en php

Recommandé : "Tutoriel vidéo PHP"

Suppression des données en double des tableaux dans deux méthodes PHP

1. Utilisez directement la fonction array_unique

Utilisez la fonction array_unique pour supprimer directement les valeurs en double dans un tableau, en ne conservant que la première occurrence des valeurs en double et celles correspondantes. la valeur clé

peut être trouvée dans le manuel PHP

Exemple 1 :

$input = array("a" => "green", "red", "b" => "green", "blue", "red");
$result = array_unique($input);
print_r($result);
此时输出:
Array
(
    [a] => green
    [0] => red
    [1] => blue
)

Remarque : dans la fonction array_unique, si int(3) et string( 1) Quand ' 3', la fonction considérera les deux valeurs comme la même valeur, et ne conservera que la valeur qui apparaît en premier

Exemple 2 :

$input = array(4, "4", "3", 4, 3, "3");
$result = array_unique($input);
var_dump($result);

A ce moment, elle affichera :

array(2) {
  [0] => int(4)
  [2] => string(1) "3"
}

2. Utilisez la fonction array_flip et la fonction array_keys ensemble

Il est très pratique d'utiliser la fonction array_unique, mais il y a une chose, la fonction array_unique ne changera pas la valeur de la clé d'origine. de la valeur conservée. Dans certains cas, il est difficile d'exploiter un nouveau tableau. À ce stade, vous pouvez utiliser la fonction array_flip et la fonction array_keys

fonction array_flip

pour échanger les valeurs. ​​et les valeurs clés du tableau spécifié. Les clés deviennent des valeurs et les valeurs du tableau d'origine deviennent des clés, et si la même valeur apparaît plusieurs fois, la dernière clé devient sa valeur et toutes les autres le sont. perdu.

Par exemple :

$trans = array("a" => 1, "b" => 1, "c" => 2);
$trans = array_flip($trans);
print_r($trans);

La sortie à ce moment est :

Array
(
    [1] => b
    [2] => c
)

fonction array_keys

la fonction array_keys peut renvoyer tout ou partie des noms de clés du tableau , c'est plus facile à comprendre. Si serch_value est spécifié, la valeur clé de la valeur de requête spécifiée est renvoyée

Par exemple :

$array = array(0 => 100, "color" => "red");
print_r(array_keys($array));
$array = array("blue", "red", "green", "blue", "blue");
print_r(array_keys($array, "blue"));
$array = array("color" => array("blue", "red", "green"),
               "size"  => array("small", "medium", "large"));
print_r(array_keys($array));

À ce moment, le résultat sera :

Array
(
    [0] => 0
    [1] => color
)
Array
(
    [0] => 0
    [1] => 3
    [2] => 4
)
Array
(
    [0] => color
    [1] => size
)

Après avoir introduit les deux fonctions Après utilisation, lorsque vous rencontrez un tableau avec beaucoup de données répétées et que vous souhaitez éliminer les données répétées au milieu et commencer à compter les valeurs clés à partir de « 0 », vous pouvez utilisez d'abord la fonction array_flip sur la fonction, puis utilisez la fonction array_keys sur le nouveau tableau. , vous pouvez obtenir un

Supplément : lorsque l'éditeur a introduit la fonction array_keys, il m'est soudainement venu à l'esprit qu'il devrait y avoir un fonction qui peut extraire les valeurs de tous les tableaux. Après vérification, il existe bien une fonction array_value, qui peut renvoyer toutes les valeurs d'un tableau. La valeur est enregistrée dans un nouveau tableau, de sorte que. la valeur clé peut être comptée à partir de « 0 ». Par conséquent, si vous souhaitez atteindre l'objectif de cet article, vous pouvez également utiliser d'abord la fonction array_unique, puis utiliser la fonction array_value dessus.

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