In using PHP, array is a very common and practical data structure. When dealing with arrays, sometimes we need to remove specified elements from the array. This operation may be implemented using some array functions or manually traversing the array. This article will introduce several methods to remove specified elements from an array.
Method 1: Use the unset() function
The unset() function in PHP can be used to destroy the specified variable. When the variable is an array element, the unset() function can be used to remove the element. The specific implementation is as follows:
$colors = array('red', 'blue', 'green', 'yellow'); unset($colors[1]); // 移除 "blue" 元素 print_r($colors);
The output result is:
Array ( [0] => red [2] => green [3] => yellow )
As shown above, we can use the unset() function to remove the second element "blue" of the $colors array. After execution, there will be only three elements "red", "green" and "yellow" left in the array.
It should be noted that when using the unset() function to remove an array element, the position occupied by the element will not be automatically filled, that is to say, subsequent elements will not be automatically moved forward. Therefore, after using this method to remove array elements, you need to reconstruct the array through some other methods.
Method 2: Use array_splice() function
The array_splice() function in PHP can be used to delete a section of elements in an array and replace them with other elements. The specific usage is as follows:
$colors = array('red', 'blue', 'green', 'yellow'); array_splice($colors, 1, 1); // 移除下标为 1 的元素 "blue" print_r($colors);
The execution results are as follows:
Array ( [0] => red [1] => green [2] => yellow )
As shown above, we can use the array_splice() function to remove the second element "blue" of the $colors array. After execution, there will be only three elements "red", "green" and "yellow" left in the array.
It should be noted that the array_splice() function will modify the original array and automatically rebuild its index. If you do not need to rebuild the index, you can set the fourth parameter to false
.
Method 3: Use array_diff() function
The array_diff() function in PHP can be used to compare the difference between two or more arrays and return the difference. When there is only an array as argument, it returns the difference of the specified elements in that array. So we can use this function to remove the specified element.
$colors = array('red', 'blue', 'green', 'yellow'); $remove = array('blue'); $colors = array_diff($colors, $remove); // 移除 $remove 数组中的元素 print_r($colors);
The execution results are as follows:
Array ( [0] => red [2] => green [3] => yellow )
As shown above, we can use the array_diff() function to remove the same elements in the $colors array as the $remove array elements. "blue" is the only element in the $remove array, so the "blue" element is removed from the $colors array.
It should be noted that the array_diff() function returns a new array composed of differential elements and will not affect the original array. Therefore, the return value needs to be reassigned to the original array to remove the specified element. function.
Summary
Using the unset() function, array_splice() function and array_diff() function can all achieve the function of removing specified elements from a PHP array. Among them, the unset() function is the simplest, but it requires manual reconstruction of the array. The array_splice() function can rebuild the array index while removing array elements. The array_diff() function returns a difference array, and the return value needs to be assigned to the original array. It is necessary to choose the appropriate method for implementation according to the specific scenario.
The above is the detailed content of How to remove specified elements from php array. For more information, please follow other related articles on the PHP Chinese website!