Maison > développement back-end > Problème PHP > Les tableaux multidimensionnels php peuvent-ils être dupliqués ?

Les tableaux multidimensionnels php peuvent-ils être dupliqués ?

WBOY
Libérer: 2023-05-19 12:03:37
original
615 Les gens l'ont consulté

PHP est un langage de programmation puissant qui prend en charge les tableaux multidimensionnels et la déduplication de tableaux. Au cours du processus de développement, nous devons souvent utiliser des tableaux multidimensionnels pour la gestion et le traitement des données, et la déduplication des données est également essentielle. La question est donc la suivante : les tableaux multidimensionnels en PHP peuvent-ils être dupliqués ? Cet article discutera de la méthode de déduplication des tableaux multidimensionnels en PHP.

1. Tableau multidimensionnel PHP

En PHP, un tableau multidimensionnel est un tableau contenant plusieurs tableaux imbriqués. Par exemple, nous pouvons utiliser un tableau multidimensionnel pour stocker les informations sur les notes des élèves :

$scores = array(
    "张三" => array("语文" => 85, "数学" => 90, "英语" => 98),
    "李四" => array("语文" => 91, "数学" => 88, "英语" => 95),
    "王五" => array("语文" => 92, "数学" => 95, "英语" => 90)
);
Copier après la connexion

Dans l'exemple ci-dessus, nous avons créé un tableau multidimensionnel contenant trois tableaux imbriqués, chaque tableau imbriqué contient les informations sur les notes d'un élève. Notez que dans les tableaux multidimensionnels, chaque tableau a une valeur clé correspondante (Zhang San, Li Si, Wang Wu), et cette valeur clé peut être un nombre ou un type de chaîne.

2. Méthode de déduplication

  1. Fonction Array_unique()

La fonction Array_unique() est une fonction intégrée en PHP pour la déduplication. Elle peut supprimer les valeurs en double dans le tableau et conserver les valeurs clés. du tableau d'origine. Cependant, pour les tableaux multidimensionnels, la fonction array_unique() ne peut supprimer que les valeurs en double du sous-tableau de premier niveau. Par exemple :

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

Le résultat de sortie est :

Array
(
    [0] => 1
    [2] => a
    [3] => b
    [4] => Array
        (
            [0] => a
            [1] => b
        )

)
Copier après la connexion

Nous avons constaté que même si les tableaux imbriqués (« a », « b ») étaient répétés deux fois, ils n'étaient pas dédupliqués.

2. Fonction personnalisée

Pour le problème de la déduplication de tableaux multidimensionnels, nous pouvons personnaliser une fonction pour y parvenir. Voici un exemple simple :

function multi_array_unique($array){
    foreach ($array as $key1 => $value1) {
        foreach ($array as $key2 => $value2) {
            if ($key1 != $key2 && $value1 === $value2) {
                unset($array[$key2]);
            }
        }
    }
    return $array;
}
Copier après la connexion

La fonction ci-dessus utilise une double boucle foreach pour parcourir des tableaux multidimensionnels. Si les deux tableaux ne sont pas le même tableau et ont des valeurs égales, les éléments suivants du tableau sont supprimés. Enfin, le tableau traité est renvoyé.

Nous pouvons tester cette fonction :

$array = array(
    array("id"=>1,"name"=>"apple"),
    array("id"=>2,"name"=>"banana"),
    array("id"=>3,"name"=>"orange"),
    array("id"=>4,"name"=>"orange"),
    array("id"=>5,"name"=>"apple")
);
$result = multi_array_unique($array);
print_r($result);
Copier après la connexion

Le résultat de sortie est :

Array
(
    [0] => Array
        (
            [id] => 1
            [name] => apple
        )

    [1] => Array
        (
            [id] => 2
            [name] => banana
        )

    [2] => Array
        (
            [id] => 3
            [name] => orange
        )

)
Copier après la connexion

Nous pouvons voir à partir du résultat de sortie que les valeurs en double​​dans le tableau multidimensionnel ont été supprimées et que seule la valeur unique est retenu.

3. Résumé

Les tableaux multidimensionnels PHP peuvent être dédupliqués via des fonctions personnalisées pour améliorer l'efficacité d'exécution et la précision du programme. Dans le développement réel, il est nécessaire de choisir une méthode de déduplication adaptée aux exigences du projet. Voici quelques-unes de mes expériences et idées, bienvenue pour échanger et discuter !

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