Home  >  Article  >  Backend Development  >  How to delete elements with the same key value in php array

How to delete elements with the same key value in php array

PHPz
PHPzOriginal
2023-03-23 16:53:211473browse

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!

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