Home > Article > Backend Development > How to delete array elements by value in php
In PHP programming, array is a very practical data type, which allows us to store multiple values and operate and process these values conveniently. However, sometimes we need to delete specific values in the array. At this time, we can use some built-in functions provided by PHP to complete this task.
In PHP, there are many ways to delete arrays by value. Let’s introduce these methods in detail:
Method 1: Use the unset() function to delete the specified value in the array
We can use PHP's built-in unset() function to delete the specified value in the array. This function accepts one or more parameters, each parameter is a reference to the array element to be deleted. After calling the unset() function, the element in the array will be deleted.
The following is an example, we will delete the element with the value "apple" in the array:
$fruits = array("apple", "banana", "orange", "grape"); $key = array_search("apple", $fruits); if ($key !== false) { unset($fruits[$key]); } print_r($fruits);
Output result:
Array ( [1] => banana [2] => orange [3] => grape )
In the above code, we first Use the array_search() function to find the element with the value "apple" in the array and assign its index to the variable $key. Then, we use the unset() function to remove the element.
Method 2: Use the array_diff() function to delete the specified value in the array
We can also use PHP’s built-in array_diff() function to delete the specified value in the array. This function accepts two or more parameters, where the first parameter is the array to be processed and the remaining parameters are the values to be removed from the first array. This function returns a new array containing all elements in the first array that do not contain the second and subsequent arguments.
Here is an example, we will remove the two values "apple" and "orange" from the array:
$fruits = array("apple", "banana", "orange", "grape"); $new_fruits = array_diff($fruits, array("apple", "orange")); print_r($new_fruits);
Output result:
Array ( [1] => banana [3] => grape )
In the above code , we pass the array we want to process as the first parameter to the array_diff() function, and then pass the values "apple" and "orange" we want to delete as the second parameter to the function. When finished, the function will return a new array that does not contain these two values.
Method 3: Use the array_filter() function to delete the specified value in the array
We can also use PHP’s built-in array_filter() function to delete the specified value in the array. The function accepts as parameters an array to be processed and a callback function that will be called to determine which elements should be removed from the array.
Here is an example where we will use array_filter() function to remove elements with length less than 5 from an array:
$fruits = array("apple", "banana", "orange", "grape"); $new_fruits = array_filter($fruits, function($value) { return strlen($value) >= 5; }); print_r($new_fruits);
Output result:
Array ( [1] => banana [2] => orange [3] => grape )
In the above example , we pass the array to be processed as the first parameter to the array_filter() function, and then pass a callback function to the function as the second parameter. The callback function will need to check if the length of each element is greater than or equal to 5, if so then keep the element, otherwise delete it.
Summary
In PHP programming, we can use multiple methods to delete an array by value. This function can be achieved by using the unset() function, array_diff() function or array_filter() function. As needed, we can choose to use any method to delete the specified value in the array, so that we can complete the development task more efficiently.
The above is the detailed content of How to delete array elements by value in php. For more information, please follow other related articles on the PHP Chinese website!