In PHP, we often need to operate arrays. Array operations include adding or removing elements to the array, etc. In this article, we will discuss how to remove specified elements from an array, that is, how to remove elements from an array based on key.
First, we need to understand what an array and the key of an array element are.
Arrays are one of the most commonly used data types in PHP. An array is an ordered collection of data in which each element consists of a key and a value. Array keys can be numbers or strings, and values can be any type of value, such as strings, integers, floating point numbers, arrays, etc. In PHP, we usually use square brackets to represent arrays, as shown below:
$arr = ["apple", "banana", "orange"];
In the above example, $arr is an array containing three elements. Their indices are 0, 1, and 2 respectively.
To remove elements from an array, we need to use the unset() function. The unset() function destroys the specified variable and frees any memory associated with the variable. We can use the unset() function to remove elements from an array.
For example, to delete the "orange" element in the above array, we can use the following code:
unset($arr[2]);
In the above code, $arr[2] represents the third element in the array elements (note that array indexing starts from 0). This line of code will remove the third element, "orange", from the array.
If we use the above code to delete an element in the array, then the element and its associated key will be completely deleted from the array. For example, in the above example, if we remove $arr[2], then only two elements will be left in the array, and their indices will be 0 and 1 respectively.
If we want to delete an element with a null value or an element with a non-existent key, we don't have to worry about reporting an error. For example, the following code will not throw any errors:
unset($arr[5]); unset($arr[null]);
In the above code, $arr[5] and $arr[null] represent elements that do not exist in the array or elements whose key is null respectively. These lines of code will not throw any errors.
Next, let’s take a look at how to use the unset() function to delete elements from a multidimensional array.
To delete elements in a multi-dimensional array, we need to provide multiple keys in the unset() function to access the elements in the array layer by layer. For example, suppose we have the following multidimensional array:
$arr = [ "fruits" => [ "apple", "banana", "orange" ], "vegetables" => [ "carrots", "celery", "spinach" ] ];
The above array contains two keys: fruits and vegetables. The fruits key is associated with an array containing three fruits, and the vegetables key is associated with an array containing three vegetables.
Now, if we want to delete the "orange" element in the fruits array, we can use the following code:
unset($arr["fruits"][2]);
In the above code, $arr["fruits"][2] means The third element under the fruits key in the $arr array (i.e. "orange"). This line of code will remove the third element, "orange", from the fruits array.
Similarly, we can use a similar method to delete elements in the vegetables array:
unset($arr["vegetables"][1]);
In the above code, $arr["vegetables"][1] represents the $arr array The second element under the vegetables key (i.e. "celery"). This line of code will remove the second element, "celery", from the vegetables array.
In conclusion, you can easily delete elements from an array in PHP using the unset() function. We only need to provide the key of the element to be deleted to completely remove the element from the array. If we want to delete an element in a multidimensional array, we need to use multiple keys to access the element layer by layer.
The above is the detailed content of How to remove elements from an array based on key in php. For more information, please follow other related articles on the PHP Chinese website!