Home > Backend Development > PHP Problem > How to remove duplicate values ​​from php array

How to remove duplicate values ​​from php array

藏色散人
Release: 2023-03-04 17:02:02
Original
2801 people have browsed it

php Array method to remove duplicate values: 1. Use the "array_unique" function to delete duplicates from a one-dimensional array; 2. Delete duplicates from a two-dimensional array through the "assoc_unique" and "array_unique_fb" methods.

How to remove duplicate values ​​from php array

Recommended: "PHP Video Tutorial"

php Array deduplication (one-dimensional array and two-dimensional array Dimensional array)

Removal of duplicate items in the array

Duplicate items in one-dimensional array:

Use the array_unique function. The usage examples are as follows:

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

The result is as follows: Array ([0] => apple [1] => banana [2] => pear [4] => wail [5] => watermalon ).

Duplicates of two-dimensional arrays:

We will discuss two-dimensional arrays in two situations. One is because the value of a certain key name cannot be repeated, and duplicates are deleted; the other is Because the internal one-dimensional arrays cannot be exactly the same, and duplicates are deleted, the following example illustrates:

           Because the value of a certain key name cannot be repeated, delete duplicates

<?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);
            ?>
Copy after login

The display result is:

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

㈡ Because the internal one -dimensional array cannot be exactly the same, delete the duplicate item

<?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)
            ?>
Copy after login

Display results:

r

The above is the detailed content of How to remove duplicate values ​​from php array. For more information, please follow other related articles on the PHP Chinese website!

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template