Home > Article > Backend Development > How to delete elements with the same key value in php array
PHP is a powerful programming language that provides various array functions for operating arrays. PHP provides many solutions when we need to remove elements with the same key value from an array. In this article, we will introduce some common methods to delete elements with the same key value.
Method 1: Use array_unique() function
array_unique() function can remove duplicate values from the array and return a new array in which all key names remain constant. Below is a sample code that uses the array_unique() function to delete elements:
$old_array = array("one" => 1, "two" => 2, "three" => 3, "four" => 2); $new_array = array_unique($old_array); print_r($new_array);
In the above code, the original array contains four elements, two of which have the same key value. The array_unique() function removes duplicate elements from the array and returns a new array. The output result is as follows:
Array ( [one] => 1 [two] => 2 [three] => 3 )
Method 2: Use array_filter() function
array_filter() function can filter the elements in the array and return a new array in which only Contains elements that meet certain conditions. The following is a sample code that uses the array_filter() function to delete elements:
$old_array = array("one" => 1, "two" => 2, "three" => 3, "four" => 2); $new_array = array_filter($old_array, function($value, $key) use ($old_array) { return count(array_keys($old_array, $value)) == 1; }, ARRAY_FILTER_USE_BOTH); print_r($new_array);
In the above code, we use an anonymous function to define the filter conditions. This function compares the value and key of each element to see if it appears only once. If so, return true; otherwise, return false. The final output result is as follows:
Array ( [one] => 1 [three] => 3 )
Method 3: Use array_diff_key() function
array_diff_key() function can compare the key names of two arrays and return the first Elements corresponding to different key names in the array. Below is a sample code to remove elements using array_diff_key() function:
$old_array = array("one" => 1, "two" => 2, "three" => 3, "four" => 2); $new_array = array_diff_key($old_array, array_unique($old_array)); print_r($new_array);
In the above code, we first remove duplicate elements in the array using array_unique() function and pass the result as the second parameter Give array_diff_key() function. The final output is as follows:
Array ( [two] => 2 )
Method Four: Use a Custom Function
If the above method does not work for your specific use case, you can create a custom function to Delete elements with the same key value. Below is a sample code that uses a custom function to delete an element:
function delete_duplicate_elements($array) { $result = array(); foreach($array as $key => $value) { if(!in_array($value, $result)) { $result[$key] = $value; } } return $result; } $old_array = array("one" => 1, "two" => 2, "three" => 3, "four" => 2); $new_array = delete_duplicate_elements($old_array); print_r($new_array);
In the above code, the custom function uses the in_array() function to check if the element is already present in the result array. If not present, the element is added to the resulting array. The final output is as follows:
Array ( [one] => 1 [two] => 2 [three] => 3 )
Conclusion
PHP provides various built-in functions and methods to delete array elements with the same key value. Depending on your needs, you can choose the method that suits you and use it in your project. We hope this article helps you get better at manipulating arrays with PHP.
The above is the detailed content of How to delete elements with the same key value in php array. For more information, please follow other related articles on the PHP Chinese website!