Home > Article > Backend Development > How to delete duplicate records in an array in php and keep the latest data
In our daily development, array deduplication is an operation that is often used. Of course, it is not very difficult to remove duplicates from an ordinary array. We can use foreach to traverse the array and then add the non-duplicate parts to a new array. However, when the same elements appear in the array, we usually need to keep the latest one and delete other duplicate elements. So, how to achieve this?
This article will introduce a method to use PHP language to delete duplicate elements of an array and retain the latest records. We will implement it in the following three steps:
1. Use the array_unique function to remove duplicates
array_unique() function can deduplicate the array, and it will automatically identify duplicate elements in the array and delete. For example:
$arr = array(1, 2, 3, 3, 4, 4, 5); print_r(array_unique($arr)); // 输出 [1, 2, 3, 4, 5]
However, after using the array_unique function, the elements in the array are not kept latest according to our needs, so what should we do?
2. Use the array_reverse function to reverse the array
If we can sort the array in reverse order, we can retain the latest elements after deduplication. We can use the array_reverse function to sort an array in reverse order. For example:
$arr = array(1, 2, 3, 3, 4, 4, 5); $arr = array_reverse($arr); print_r($arr); // 输出 [5, 4, 4, 3, 3, 2, 1]
3. Use foreach loop and unset function to delete duplicate elements
After the above two steps, we have sorted the array in reverse order and can retain the latest elements. Next, you can use the foreach loop and the unset function to remove duplicate elements. The specific operations are as follows:
$arr = array(1, 2, 3, 3, 4, 4, 5); $arr = array_reverse($arr); $unique = array(); foreach ($arr as $key=>$value) { if (!in_array($value, $unique)) { $unique[] = $value; } else { // 删除重复元素 unset($arr[$key]); } } // 最后再将数组逆序回来 $arr = array_reverse($arr); print_r($arr); // 输出 [1, 2, 3, 4, 5]
Through the above operations, we have successfully implemented the function of deleting duplicate elements of the array and retaining the latest records. Although this method involves some operations of sorting the array in reverse order and deleting elements, the whole process is not complicated and is suitable for various PHP development scenarios.
The above is the detailed content of How to delete duplicate records in an array in php and keep the latest data. For more information, please follow other related articles on the PHP Chinese website!