Home  >  Article  >  Backend Development  >  php array remove elements based on value

php array remove elements based on value

WBOY
WBOYOriginal
2023-05-19 11:47:07420browse

In PHP development, array is a commonly used data structure. It is very common in our programming career and can easily store and manage data. However, there are situations where we need to remove specific elements from the array. In this article, we will discuss how to delete elements of a PHP array based on value.

PHP provides many different array functions to operate on arrays. To delete elements from an array, we can use the unset() function provided by PHP. The job of the unset() function is to remove the element with the specified key from the array and return a new array.

First, let's take a look at how to delete the element with the specified key name in the array. The following is an example array:

$cities = array("北京", "上海", "广州", "深圳");

We can use the unset() function to delete the element with the specified key name. For example, if we want to delete the element with key name 1 in the $cities array (i.e. Shanghai), we can do this:

unset($cities[1]);

In the above code, we use the unset() function to delete $cities The element with key name 1 in the array. After running the above code, the $cities array will no longer contain the Shanghai element.

If we want to retain the key order of other elements after deleting the element, we can use the following code:

$cities = array_values($cities);

In the above code, we use the array_values ​​function, which returns Create a new array and reset the array keys.

Now, if we want to delete elements based on their value instead of key name, how should we do it? We can use PHP’s array_search() function.

The array_search() function searches whether a specified value exists in an array and returns the key name of the value in the array. If the value does not exist, returns false. We can use this function to delete specific elements from the array. The following is an example:

$cities = array("北京", "上海", "广州", "深圳");
$search_value = "上海";
$key = array_search($search_value, $cities);
if($key !== false) {
    unset($cities[$key]);
}

In the above code, we first use the array_search() function to search whether there is an element with the value "Shanghai" in the $cities array, and return the key name of the element. If the element exists, use the unset() function to remove it from the array.

Note that in the above code, we use the equal operator "!==", which compares the data type and value of two values. Since the array_search() function can return 0, which is considered a valid key, we need to make sure to use the equals operator to compare keys.

To summarize, in PHP, to delete elements based on value, we need to use the array_search() function to find a specific value in the array and use the unset() function to delete the element. It should be noted that after deleting elements, we may need to reorganize the key order of the array, which can be achieved using the array_values() function.

The above is the detailed content of php array remove elements based on value. 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