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

How to remove duplicate values ​​from array in php?

青灯夜游
青灯夜游Original
2020-07-25 15:49:233248browse

php method to delete duplicate values ​​in an array: 1. Use array_unique() to delete duplicate values ​​in an array; 2. Use the array_flip() function to indirectly delete duplicate values ​​in an array. array_flip() reverses the array keys and values. If two values ​​in the array are the same, the last key and value will be retained after the reversal.

How to remove duplicate values ​​from array in php?

php method to delete duplicate values ​​from an array

1. Use array_unique ()Function

array_unique() function is used to remove duplicate values ​​from an array. If two or more array values ​​are the same, only the first value is retained and the other values ​​are removed. [Tutorial Recommendation: PHP Tutorial]

Note: The retained array will retain the key type of the first array item.

Return value: Returns the filtered array.

Code example:

<?php
$result1 = array("a" => "green", "red", "b" => "green", "blue", "red");
var_dump($result1);
$result2 = array_unique($result1);
var_dump($result2);
?>

Output:

array (size=5)
  &#39;a&#39; => string &#39;green&#39; (length=5)
  0 => string &#39;red&#39; (length=3)
  &#39;b&#39; => string &#39;green&#39; (length=5)
  1 => string &#39;blue&#39; (length=4)
  2 => string &#39;red&#39; (length=3)
array (size=3)
  &#39;a&#39; => string &#39;green&#39; (length=5)
  0 => string &#39;red&#39; (length=3)
  1 => string &#39;blue&#39; (length=4)

2. Use array_flip() function

array_flip() The function is used to reverse/exchange the key names in the array and the corresponding associated key values.

It has a feature that if two values ​​​​in the array are the same, then the last key and value will be retained after the inversion. Using this feature, we use it to indirectly achieve deduplication of the array.

<?php
header("content-type:text/html;charset=utf-8");
$a = array(1, 5, 2, 5, 1, 3, 2, 4, 5);
// 输出原始数组
echo "原始数组 :";
var_dump($a);
// 通过使用翻转键和值移除重复值
$a = array_flip($a);
// 通过再次翻转键和值来恢复数组元素
$a = array_flip($a);
// 重新排序数组键
$a = array_values($a);
// 输出更新后的数组
echo "更新数组 :";
var_dump($a);
?>

Output:

原始数组 :array (size=9)
  0 => int 1
  1 => int 5
  2 => int 2
  3 => int 5
  4 => int 1
  5 => int 3
  6 => int 2
  7 => int 4
  8 => int 5
更新数组 :array (size=5)
  0 => int 1
  1 => int 5
  2 => int 2
  3 => int 3
  4 => int 4

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

Statement:
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