How to remove duplicate data in php

藏色散人
Release: 2023-03-03 19:56:01
Original
6347 people have browsed it

php method to remove duplicate data: 1. Use the "array_unique" function to directly remove duplicate values ​​in an array; 2. Use the "array_flip" function and the "array_keys" function to remove duplicate data.

How to remove duplicate data in php

Recommendation: "PHP Video Tutorial"

Two kinds of PHP to remove duplicate data from arrays Method

1. Directly use the array_unique function

Use the array_unique function to directly remove duplicate values ​​​​in an array, retaining only the first occurrence of the duplicate values ​​and Its corresponding key value

Detailed instructions can be found in the PHP manual

Example 1:

$input = array("a" => "green", "red", "b" => "green", "blue", "red");
$result = array_unique($input);
print_r($result);
此时输出:
Array
(
    [a] => green
    [0] => red
    [1] => blue
)
Copy after login

Note: In the array_unique function, if int(3) and string( 1) When '3', the function will regard the two values ​​as the same value, and will only retain the value that appears first

Example 2:

$input = array(4, "4", "3", 4, 3, "3");
$result = array_unique($input);
var_dump($result);
Copy after login

At this time, it will output:

array(2) {
  [0] => int(4)
  [2] => string(1) "3"
}
Copy after login

2. Use the array_flip function and the array_keys function together

It is very convenient to use the array_unique function, but there is one thing, the array_unique function will not change the original key value that is retained. This In some cases, it is difficult to operate a new array. At this time, you can use the array_flip function and array_keys function

array_flip function

to swap the values ​​and key values ​​​​of the specified array. The keys become values, and the values ​​in the original array become keys, and if the same value appears multiple times, the last key becomes its value and all others are lost.

For example:

$trans = array("a" => 1, "b" => 1, "c" => 2);
$trans = array_flip($trans);
print_r($trans);
Copy after login

The output at this time is:

Array
(
    [1] => b
    [2] => c
)
Copy after login

array_keys function

array_keys function can return some or all key names in the array, this It is easier to understand. If serch_value is specified, the key value of the specified query value is returned.

For example:

$array = array(0 => 100, "color" => "red");
print_r(array_keys($array));
$array = array("blue", "red", "green", "blue", "blue");
print_r(array_keys($array, "blue"));
$array = array("color" => array("blue", "red", "green"),
               "size"  => array("small", "medium", "large"));
print_r(array_keys($array));
Copy after login

At this time, the output will be:

Array
(
    [0] => 0
    [1] => color
)
Array
(
    [0] => 0
    [1] => 3
    [2] => 4
)
Array
(
    [0] => color
    [1] => size
)
Copy after login

After introducing the two functions After use, when you encounter an array with a lot of repeated data, and want to eliminate the repeated data in the middle and start counting the key values ​​from '0', you can first use the array_flip function on the function, and then use the array_keys function on the new array. , you can achieve

Supplement: When the editor introduced the array_keys function, it suddenly occurred to me that there should be a function that can take out the values ​​​​of all arrays. After checking, there is indeed an array_value function, which can return all the values ​​​​of an array. The value is recorded into a new array, so that the key value can be counted from '0'. Therefore, if you want to achieve the purpose of this article, you can also use the array_unique function first, and then use the array_value function on it.

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

Related labels:
php
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
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!