Home >Backend Development >PHP Problem >How to keep only duplicate data in php array
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:
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!