Heim >Backend-Entwicklung >PHP-Problem >So entfernen Sie doppelte Werte aus dem PHP-Array

So entfernen Sie doppelte Werte aus dem PHP-Array

藏色散人
藏色散人Original
2020-08-18 09:43:342798Durchsuche

So entfernen Sie doppelte Werte aus einem PHP-Array: 1. Verwenden Sie die Funktion „array_unique“, um doppelte Elemente aus einem eindimensionalen Array zu löschen. 2. Verwenden Sie die Methoden „assoc_unique“ und „array_unique_fb“, um doppelte Elemente aus einem zu löschen zweidimensionales Array.

So entfernen Sie doppelte Werte aus dem PHP-Array

Empfohlen: „PHP-Video-Tutorial

php-Array-Deduplizierung (eindimensionales Array und zweidimensionales Array)

Entfernung von Duplikaten im Array

Duplikate eines eindimensionalen Arrays:

Verwenden Sie einfach die Funktion array_unique. Das Anwendungsbeispiel lautet wie folgt:

<?php
                   $aa=array("apple","banana","pear","apple","wail","watermalon");
                   $bb=array_unique($aa);
                   print_r($bb);
                ?>

Das Ergebnis lautet wie folgt: Array ( [0] => Apfel [1] => Banane [2] => Birne [4] => heulen [5] =>

Duplikate von zweidimensionalen Arrays:

Bei zweidimensionalen Arrays werden wir dies in zwei Situationen besprechen: Zum einen, weil der Wert eines bestimmten Schlüsselnamens nicht wiederholt werden kann und zum anderen, weil der interne Wert gelöscht wird -dimensionales Array kann nicht vollständig identisch sein und Duplikate löschen. Das folgende Beispiel zeigt:

㈠ Da der Wert eines bestimmten Schlüsselnamens nicht wiederholt werden kann, löschen Sie Duplikate

<?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);
            ?>

Das Anzeigeergebnis lautet:

Array ( [0] => Array ( [id] => 123 [name] => 张三 ) [1] => Array ( [id] => 124 [name] => 王五 ) [2] => Array ( [id] => 125 [name] => 赵六 ) [3] => Array ( [id] => 126 [name] => 赵六 ) )

㈡ Löschen, weil der Das interne eindimensionale Array kann nicht genau dasselbe sein. Duplikat

<?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)
            ?>

Ergebnisse werden angezeigt:

Array ( [0] => Array ( [0] => 123 [1] => 张三 ) [1] => Array ( [0] => 123 [1] => 李四 ) [2] => Array ( [0] => 124 [1] => 王五 ) [4] => Array ( [0] => 126 [1] => 赵六 ) )

Das obige ist der detaillierte Inhalt vonSo entfernen Sie doppelte Werte aus dem PHP-Array. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn