Maison  >  Article  >  développement back-end  >  Comment supprimer les mêmes éléments dans un tableau à deux dimensions en php

Comment supprimer les mêmes éléments dans un tableau à deux dimensions en php

PHPz
PHPzoriginal
2023-04-26 09:09:26938parcourir

En programmation PHP, nous rencontrons souvent des situations où nous devons exploiter des tableaux à deux chiffres. Dans certains cas, nous devons supprimer des éléments identiques pour conserver l’unicité des données. Cet article explique comment supprimer des éléments identiques dans un tableau à deux chiffres.

1. Qu'est-ce qu'un tableau à deux chiffres

Un tableau à deux chiffres (également appelé « tableau multidimensionnel » ou « tableau de tableaux ») est une structure de données qui contient d'autres tableaux. En PHP, nous utilisons généralement des tableaux pour stocker et manipuler des données. Un tableau à deux chiffres est un type spécial de tableau dans lequel chaque élément est un tableau. Nous pouvons accéder aux éléments d'un tableau à deux chiffres via deux indices ou plus, par exemple :

$students = array(
  array("name"=>"张三", "age"=>18, "score"=>89),
  array("name"=>"李四", "age"=>22, "score"=>76),
  array("name"=>"王五", "age"=>20, "score"=>94)
);

Le code ci-dessus crée un tableau à deux chiffres contenant trois éléments, chaque élément est un tableau contenant trois clés- paires de valeurs. Nous pouvons utiliser des indices pour accéder aux éléments d'un tableau à deux chiffres, par exemple :

echo $students[0]["name"]; // 输出 张三
echo $students[1]["score"]; // 输出 76
echo $students[2]["age"]; // 输出 20

2 Comment supprimer les mêmes éléments dans un tableau à deux chiffres

Parfois, nous rencontrerons Le tableau à deux chiffres contient les mêmes éléments. Par exemple, nous pouvons obtenir les mêmes informations sur les étudiants à partir de différentes sources de données, ce qui entraîne une duplication des données sur les étudiants. Dans ce cas, nous devons supprimer les éléments en double pour conserver les données uniques.

PHP fournit une fonction array_unique() pour supprimer les éléments en double dans un tableau. Cependant, utiliser cette fonction sur un tableau à deux chiffres ne répond pas à notre objectif. La fonction array_unique() ne peut supprimer que les éléments en double dans un tableau unidimensionnel, mais ne peut pas supprimer les éléments en double dans un tableau multidimensionnel. array_unique() 用于删除数组中的重复元素。但是,在二位数组中使用该函数并不能达到我们的目的。 array_unique() 函数只能删除一维数组中的重复元素,而不能删除多维数组中的重复元素。

因此,我们需要自己编写代码来删除二位数组中的重复元素。我们可以使用一个循环来遍历二位数组中的每个元素,并且在每一步中比较当前元素和之前的元素是否相同。如果相同,则删除当前元素。下面是代码实现:

function removeDuplicateElements($array){
    $result = array();
    foreach ($array as $key => $value) {
        foreach ($result as $key2 => $value2) {
            if ($value == $value2) {
                unset($array[$key]);
            }
        }
        $result[] = $value;
    }
    return $result;
}

在上面的代码中,我们创建了一个名为 removeDuplicateElements() 的函数,该函数接受一个二位数组作为参数,并返回一个已经删除重复元素的二位数组。

函数内部使用两个 foreach 循环来遍历数组,第一个循环用于遍历二位数组中的每个元素。在每一步中,第二个循环用于遍历已经被添加到结果数组 $result 中的元素,并且比较当前元素和之前的元素是否相同。

如果当前元素和之前的元素相同,则使用 unset() 函数删除当前元素。 unset() 函数用于销毁指定的变量。在这里,它用于删除数组中指定的元素。如果当前元素和之前的元素不相同,则将当前元素添加到结果数组中。

三、测试和应用

我们可以创建一个测试函数来测试 removeDuplicateElements() 函数的有效性。下面是测试函数的代码:

function testRemoveDuplicateElements(){
    $students = array(
      array("name"=>"张三", "age"=>18, "score"=>89),
      array("name"=>"李四", "age"=>22, "score"=>76),
      array("name"=>"王五", "age"=>20, "score"=>94),
      array("name"=>"张三", "age"=>18, "score"=>89),
      array("name"=>"李四", "age"=>22, "score"=>76)
    );

    $result = removeDuplicateElements($students);
    print_r($result);
}

在上面的代码中,我们创建了一个包含五个元素的二位数组,其中有两个元素重复。然后,我们调用 removeDuplicateElements()

Par conséquent, nous devons écrire notre propre code pour supprimer les éléments en double dans le tableau à deux chiffres. Nous pouvons utiliser une boucle pour parcourir chaque élément du tableau à deux chiffres et, à chaque étape, comparer l'élément actuel avec l'élément précédent pour voir s'il est identique. S'ils sont identiques, supprimez l'élément actuel. Voici l'implémentation du code :

rrreee

Dans le code ci-dessus, nous avons créé une fonction nommée removeDuplicateElements(), qui accepte un tableau à deux chiffres comme paramètre, et renvoie un tableau à deux chiffres avec les éléments en double supprimés.

La fonction utilise deux boucles foreach en interne pour parcourir le tableau. La première boucle est utilisée pour parcourir chaque élément du tableau à deux chiffres. À chaque étape, une deuxième boucle est utilisée pour parcourir les éléments qui ont été ajoutés au tableau de résultats $result et comparer l'élément actuel à l'élément précédent. #🎜🎜##🎜🎜#Si l'élément actuel est le même que l'élément précédent, utilisez la fonction unset() pour supprimer l'élément actuel. La fonction unset() est utilisée pour détruire la variable spécifiée. Ici, il est utilisé pour supprimer les éléments spécifiés d'un tableau. Si l'élément actuel n'est pas le même que l'élément précédent, l'élément actuel est ajouté au tableau résultant. #🎜🎜##🎜🎜#3. Tests et application#🎜🎜##🎜🎜#Nous pouvons créer une fonction de test pour tester l'efficacité de la fonction removeDuplicateElements(). Voici le code de la fonction test : #🎜🎜#rrreee#🎜🎜#Dans le code ci-dessus, nous créons un tableau à deux chiffres avec cinq éléments, dont deux sont répétés. Nous appelons ensuite la fonction removeDuplicateElements() pour supprimer les éléments en double et imprimer le résultat. #🎜🎜##🎜🎜#Lorsque nous exécutons la fonction de test, un tableau à deux chiffres contenant trois éléments sera généré, les éléments en double étant supprimés. #🎜🎜##🎜🎜#Cet article décrit comment supprimer des éléments identiques dans un tableau à deux chiffres. Nous utilisons une boucle pour parcourir le tableau et comparer chaque élément pour voir s'il est identique à l'élément précédent. S'ils sont identiques, supprimez l'élément actuel. De cette façon, nous pouvons facilement supprimer les éléments en double dans le tableau à deux chiffres pour conserver l'unicité des données. #🎜🎜#

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