Maison  >  Article  >  développement back-end  >  Comment supprimer les éléments en double d'un tableau à deux dimensions en php

Comment supprimer les éléments en double d'un tableau à deux dimensions en php

PHPz
PHPzoriginal
2023-04-26 14:21:10845parcourir

En PHP, le tableau bidimensionnel est un type de données très courant. Cependant, lorsque nous sommes confrontés à un tableau bidimensionnel contenant des éléments répétés, comment supprimer les éléments répétés ? Cet article présentera deux méthodes couramment utilisées pour vous aider à résoudre facilement ce problème.

Méthode 1 : utilisez la fonction array_unique()

La fonction array_unique() est une fonction fournie avec PHP et peut supprimer les éléments en double du tableau. Cependant, cette fonction ne fonctionne qu'avec des tableaux unidimensionnels. Alors, comment appliquer cela à un tableau 2D ?

Nous pouvons appliquer la fonction array_unique() à chaque sous-tableau du tableau bidimensionnel à l'aide de la fonction array_map(), comme indiqué ci-dessous :

// 定义一个包含重复元素的二维数组
$arr = array(
    array("name" => "张三", "age" => 20),
    array("name" => "李四", "age" => 20),
    array("name" => "张三", "age" => 25),
    array("name" => "王五", "age" => 30),
    array("name" => "李四", "age" => 25)
);

// 去除重复元素
$arr = array_map("unserialize", array_unique(array_map("serialize", $arr)));

print_r($arr);

Dans le code ci-dessus, nous utilisons d'abord la fonction array_map() fonction pour appliquer la fonction array_unique() Appliquez-la à chaque sous-tableau du tableau bidimensionnel, puis utilisez la fonction array_map() pour le désérialiser afin d'obtenir le tableau bidimensionnel final.

Méthode 2 : utiliser la boucle foreach

En plus des méthodes ci-dessus, nous pouvons également utiliser la boucle foreach pour traiter des éléments répétés dans un tableau bidimensionnel.

La méthode spécifique est la suivante : définissez d'abord un nouveau tableau vide, puis utilisez une boucle foreach pour parcourir chaque sous-tableau du tableau d'origine afin de déterminer s'il apparaît dans le nouveau tableau. Sinon, ajoutez-le au nouveau tableau. . Le code est le suivant :

// 定义一个包含重复元素的二维数组
$arr = array(
    array("name" => "张三", "age" => 20),
    array("name" => "李四", "age" => 20),
    array("name" => "张三", "age" => 25),
    array("name" => "王五", "age" => 30),
    array("name" => "李四", "age" => 25)
);

// 去除重复元素
$newArr = array();
foreach ($arr as $value) {
    if (!in_array($value, $newArr)) {
        $newArr[] = $value;
    }
}

print_r($newArr);

Dans le code ci-dessus, nous utilisons la fonction in_array() pour déterminer si chaque sous-tableau est déjà apparu dans le nouveau tableau. Sinon, ajoutez-le au nouveau tableau.

Résumé

Les éléments en double dans les tableaux bidimensionnels sont un problème que nous rencontrons souvent en développement. Cet article présente deux méthodes couramment utilisées : l'utilisation de la fonction array_unique() et l'utilisation d'une boucle foreach. J'espère que cela pourra aider tout le monde à résoudre facilement ce problème. Quelle que soit la méthode utilisée, elle doit être sélectionnée en fonction de la situation réelle pour obtenir les meilleurs résultats.

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