Home >Backend Development >PHP Problem >How to keep only duplicate data in php array

How to keep only duplicate data in php array

PHPz
PHPzOriginal
2023-04-19 09:17:01727browse

With the continuous development of web development technology, PHP has become a widely used programming language. Arrays are one of the important data types in PHP and are often used in daily development processes. This article will introduce how to retain only duplicate data in a PHP array.

First of all, we need to understand what a PHP array is. PHP array is a special variable type used to save an ordered set of data. In PHP, arrays can be of the following types:

  1. Numeric index array: an array with numbers as key names, and the key names start from 0.
  2. Associative array: An array with strings as keys, also known as "hash array".
  3. Multidimensional array: An array contains another array to form a multidimensional array.

Next, let’s take a look at how to retain only duplicate data in the PHP array. In the actual development process, sometimes we need to deduplicate the array, that is, only retain the repeated data in the array and remove the non-duplicated data. Here are some ways to implement array deduplication in PHP.

Method 1: Use array_unique() function

PHP provides an array_unique() function, which can remove duplicate data in the array, leaving only one copy. This function can accept an array as a parameter and return a new array. The new array only contains unique elements in the original array. The following is an example code for using array_unique() function to remove duplicates:

$original_array = array("apple", "banana", "apple", "orange", "banana", "watermelon");
$new_array = array_unique($original_array);
print_r($new_array); //输出结果为:Array ( [0] => apple [1] => banana [3] => orange [5] => watermelon )

Method 2: Using array_count_values() function and foreach() loop

PHP also provides an array_count_values() function, which can Returns the number of occurrences of all values ​​in an array. Combined with a foreach() loop, all elements that appear only once can be deleted, thereby retaining only duplicate elements. The following is a sample code:

$original_array = array("apple", "banana", "apple", "orange", "banana", "watermelon");
$count_values_array = array_count_values($original_array);//统计元素出现次数
$new_array = array();//定义新数组
foreach($count_values_array as $key=>$value){
    if($value>1){//如果元素出现次数大于1
        array_push($new_array,$key);//将该元素加入新数组
    }
}
print_r($new_array);//输出结果为:Array ( [0] => apple [1] => banana )

Method 3: Use array_filter() function and array_keys() function

array_filter() function can filter the data in the array and perform operations on the original array according to the specified conditions Filter and return a new array. Combined with the array_keys() function, all repeated elements can be obtained. The following is the sample code:

$original_array = array("apple", "banana", "apple", "orange", "banana", "watermelon");
$new_array=array_keys(array_filter(array_count_values($original_array),"is_int"));//筛选出值为整数的元素,并获取该元素的键名
print_r($new_array);//输出结果为:Array ( [0] => 0 [1] => 1 [2] => 3 [3] => 4 )

Finally, to summarize: the above three methods can easily deduplicate PHP arrays and retain only duplicate data. In actual development, depending on the specific situation, an appropriate method can be selected to implement deduplication.

Overall, PHP array is a very practical data type that can help us store and process data efficiently and bring great convenience to our web development work. At the same time, the operation of PHP arrays is also one of the necessary skills in our daily development. Through continuous learning and practice, we will be able to better use PHP arrays, improve development efficiency, and provide users with a better interactive experience.

The above is the detailed content of How to keep only duplicate data in php array. 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