Maison  >  Article  >  développement back-end  >  Comment supprimer les valeurs en double d'un tableau en php

Comment supprimer les valeurs en double d'un tableau en php

PHPz
PHPzoriginal
2023-04-23 09:18:40943parcourir

Avec le développement continu d'Internet, l'importance du développement Web a attiré de plus en plus d'attention. Dans le processus de développement Web, le langage PHP, en tant que l'un des langages les plus fondamentaux, est largement utilisé dans la programmation côté serveur, et les tableaux sont l'un des composants importants du langage PHP.

Normalement, lorsque nous traitons des données, nous devons parfois utiliser des tableaux, et nous nous attendons à ce que les valeurs internes ne soient pas répétitives. S'il y a les mêmes valeurs, des résultats répétés se produiront facilement. Pour ce faire, nous devons utiliser une fonction spéciale pour supprimer les valeurs en double d'un tableau PHP. Regardons de plus près.

Pour supprimer les valeurs en double d'un tableau en PHP, vous utilisez en fait la fonction array_unique(). Ensuite, nous présenterons comment l’utiliser avec quelques exemples.

  1. Supprimer les valeurs en double du tableau indexé

Pour supprimer les éléments en double d'un tableau en PHP, vous pouvez utiliser la fonction array_unique() intégrée de PHP. Cela peut nous aider à filtrer les éléments en double dans le tableau, en conservant la première occurrence de l'élément dans le fichier, et toutes les copies suivantes seront supprimées.

Ce qui suit montre comment utiliser la fonction array_unique() pour supprimer les valeurs en double dans le tableau d'index :

<?php

$names = array("John", "Peter", "David", "Peter", "Mike", "David", "Mark", "Peter");

$unique_names = array_unique($names);

print_r($unique_names);

?>

Le résultat de sortie est :

Array
(
    [0] => John
    [1] => Peter
    [2] => David
    [4] => Mike
    [6] => Mark
)

Nous pouvons voir que les éléments "Peter" et "David" avec des index 3 et 5 ont été supprimés, il n'en reste qu'un. En effet, la fonction array_unique() conserve la première occurrence d'un élément dans le tableau et supprime toutes les occurrences ultérieures de l'élément.

  1. Supprimer les valeurs en double des tableaux associatifs

En plus d'indexer les tableaux, nous pouvons également utiliser la fonction array_unique() pour supprimer les valeurs en double des tableaux associatifs en PHP. Pour les tableaux associatifs, des précautions doivent être prises lors de la spécification des clés.

Ce qui suit montre comment utiliser la fonction array_unique() pour supprimer les valeurs en double dans un tableau associatif :

<?php

$users = array(
    "id1" => array("name" => "John", "email" => "john@example.com"),
    "id2" => array("name" => "Peter", "email" => "peter@example.com"),
    "id3" => array("name" => "David", "email" => "david@example.com"),
    "id4" => array("name" => "Peter", "email" => "peter@example.com"),
    "id5" => array("name" => "Mike", "email" => "mike@example.com"),
    "id6" => array("name" => "David", "email" => "david@example.com"),
);

// 指定"name"键去除重复值
$unique_users = array_map("unserialize", array_unique(array_map("serialize", $users)));

print_r($unique_users);

?>

Le résultat de sortie est :

Array
(
    [id1] => Array
        (
            [name] => John
            [email] => john@example.com
        )

    [id2] => Array
        (
            [name] => Peter
            [email] => peter@example.com
        )

    [id3] => Array
        (
            [name] => David
            [email] => david@example.com
        )

    [id5] => Array
        (
            [name] => Mike
            [email] => mike@example.com
        )

)

Nous pouvons voir que lorsque la clé "name" est spécifiée, l'élément "id4" a été supprimé. La première copie qui apparaît dans le tableau associatif est conservée.

  1. Supprimer les valeurs en double des tableaux multidimensionnels

En plus des tableaux d'index et des tableaux associatifs, nous pouvons également utiliser la fonction array_unique() pour supprimer les valeurs en double des tableaux multidimensionnels en PHP. Pour les tableaux multidimensionnels, vous devez faire attention à l'emplacement des valeurs clés spécifiées.

Ce qui suit montre comment utiliser la fonction array_unique() pour supprimer les valeurs en double dans un tableau multidimensionnel :

<?php

$courses = array(
    array("name" => "PHP Programming", "code" => "PHP101"),
    array("name" => "Web Design", "code" => "WD101"),
    array("name" => "PHP Programming", "code" => "PHP101"), 
    array("name" => "Java Programming", "code" => "JAVA101")
);

// 指定“name”键值的位置
$unique_courses = array_map("unserialize", array_unique(array_map("serialize", array_column($courses , null , 'name'))));

print_r($unique_courses);

?>

Le résultat de sortie est :

Array
(
    [PHP Programming] => Array
        (
            [name] => PHP Programming
            [code] => PHP101
        )

    [Web Design] => Array
        (
            [name] => Web Design
            [code] => WD101
        )

    [Java Programming] => Array
        (
            [name] => Java Programming
            [code] => JAVA101
        )

)

Nous pouvons le voir en spécifiant la position du "nom" valeur de clé, l'élément "PHP Programming" a été supprimé, conservant la première copie qui apparaît dans le tableau multidimensionnel.

Résumé

En PHP, grâce à la fonction array_unique(), nous pouvons facilement supprimer les valeurs en double dans le tableau. Pour les tableaux indexés, les tableaux associatifs et les tableaux multidimensionnels, vous pouvez spécifier les paramètres de la fonction en fonction de la situation spécifique pour obtenir les meilleurs résultats. En apprenant l'utilisation de la fonction array_unique(), nous pouvons mieux maîtriser l'application du langage PHP dans le développement Web et améliorer encore notre niveau technique.

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