Comment supprimer les valeurs en double du tableau php

藏色散人
Libérer: 2023-03-04 17:02:02
original
2765 Les gens l'ont consulté

Comment supprimer les valeurs en double d'un tableau PHP : 1. Utilisez la fonction "array_unique" pour supprimer les doublons d'un tableau à une dimension 2. Supprimez les doublons d'un tableau à deux dimensions via "assoc_unique" ; et les méthodes "array_unique_fb".

Comment supprimer les valeurs en double du tableau php

Recommandé : "Tutoriel vidéo PHP"

Déduplication de tableau php (tableau unidimensionnel et deux -tableau dimensionnel Tableau dimensionnel)

Suppression des éléments en double dans le tableau

Éléments en double dans un tableau unidimensionnel :

Utilisez la fonction array_unique L'exemple d'utilisation. est le suivant :

<?php
                   $aa=array("apple","banana","pear","apple","wail","watermalon");
                   $bb=array_unique($aa);
                   print_r($bb);
                ?>
Copier après la connexion

Le résultat est le suivant : Array ([0] => pomme [1] => banane [2] => poire [4] => gémissement [5] =>

Doublons de tableaux bidimensionnels :

Pour les tableaux bidimensionnels, nous discuterons de deux situations. La première est que la valeur d'un certain nom de clé ne peut pas être répétée, donc les éléments en double sont supprimés. ; l'autre est Parce que les tableaux unidimensionnels internes ne peuvent pas être exactement les mêmes et que les doublons sont supprimés, l'exemple suivant illustre :

      ㈠ Parce que la valeur d'un certain nom de clé ne peut pas être répétée, supprimez les doublons.

<?php
            function assoc_unique($arr, $key)
             {
               $tmp_arr = array();
               foreach($arr as $k => $v)
              {
                 if(in_array($v[$key], $tmp_arr))//搜索$v[$key]是否在$tmp_arr数组中存在,若存在返回true
                {
                   unset($arr[$k]);
                }
              else {
                  $tmp_arr[] = $v[$key];
                }
              }
            sort($arr); //sort函数对数组进行排序
            return $arr;
            }
            $aa = array(
            array(&#39;id&#39; => 123, &#39;name&#39; => &#39;张三&#39;),
            array(&#39;id&#39; => 123, &#39;name&#39; => &#39;李四&#39;),
            array(&#39;id&#39; => 124, &#39;name&#39; => &#39;王五&#39;),
            array(&#39;id&#39; => 125, &#39;name&#39; => &#39;赵六&#39;),
            array(&#39;id&#39; => 126, &#39;name&#39; => &#39;赵六&#39;)
            );
            $key = &#39;id&#39;;
            assoc_unique(&$aa, $key);
            print_r($aa);
            ?>
Copier après la connexion

Le résultat de l'affichage est :

Array ( [0] => Array ( [id] => 123 [name] => 张三 ) [1] => Array ( [id] => 124 [name] => 王五 ) [2] => Array ( [id] => 125 [name] => 赵六 ) [3] => Array ( [id] => 126 [name] => 赵六 ) )
Copier après la connexion

㈡ Parce que les tableaux unidimensionnels internes ne peuvent pas être exactement les mêmes, les doublons sont supprimés

<?php
            function array_unique_fb($array2D){
                 foreach ($array2D as $v){
                     $v = join(",",$v); //降维,也可以用implode,将一维数组转换为用逗号连接的字符串
                     $temp[] = $v;
                 }
                 $temp = array_unique($temp);    //去掉重复的字符串,也就是重复的一维数组
                foreach ($temp as $k => $v){
                    $temp[$k] = explode(",",$v);   //再将拆开的数组重新组装
                }
                return $temp;
            }
            $aa = array(
            array(&#39;id&#39; => 123, &#39;name&#39; => &#39;张三&#39;),
            array(&#39;id&#39; => 123, &#39;name&#39; => &#39;李四&#39;),
            array(&#39;id&#39; => 124, &#39;name&#39; => &#39;王五&#39;),
            array(&#39;id&#39; => 123, &#39;name&#39; => &#39;李四&#39;),
            array(&#39;id&#39; => 126, &#39;name&#39; => &#39;赵六&#39;)
            );
            $bb=array_unique_fb($aa);
            print_r($bb)
            ?>
Copier après la connexion

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!

Étiquettes associées:
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