Home >Backend Development >PHP Problem >php remove specified value from array
With the rapid development of the Internet, website development has attracted more and more attention. As a scripting language widely used in the Internet field, PHP language has many excellent functions and characteristics. Among them, the operation of arrays is also a very important function in PHP. However, in actual development, we often need to remove certain specified values from an array, so how to implement this in PHP? This article will introduce in detail how to remove specified values from an array in PHP.
Method 1: Use the array_diff function
The array_diff() function is a very practical function in PHP that can be used to calculate the difference of an array. This function accepts two or more arrays as arguments and returns the set of values in the first array that do not appear in subsequent arrays. With this function, you can easily eliminate one or more specified values.
The following is a sample code:
// 定义一个数组 $fruits = array('apple', 'banana', 'peach', 'orange', 'pear'); // 定义要剔除的值 $remove_fruits = array('peach', 'orange'); // 使用array_diff函数剔除指定的值 $new_fruits = array_diff($fruits, $remove_fruits); // 输出新的数组 print_r($new_fruits);
The running results are as follows:
Array ( [0] => apple [1] => banana [2] => pear )
As you can see, the array_diff function is used to successfully remove the two items we specified from the original array. value.
Method 2: Use foreach loop
In addition to using PHP's built-in functions, you can also use foreach loop to traverse the array and eliminate specified values. The specific operations are as follows:
//定义一个数组 $fruits = array('apple', 'banana', 'peach', 'orange', 'pear'); // 定义要剔除的值 $remove_fruits = array('peach', 'orange'); // 遍历数组,剔除指定的值 foreach ($fruits as $key => $fruit) { if (in_array($fruit, $remove_fruits)) { unset($fruits[$key]); } } // 输出新的数组 print_r($fruits);
The running results are as follows:
Array ( [0] => apple [1] => banana [4] => pear )
Using a foreach loop to operate can improve code readability and maintainability. At the same time, in PHP version 7.4 and later, you can also use arrow functions for simplification:
//定义一个数组 $fruits = array('apple', 'banana', 'peach', 'orange', 'pear'); // 定义要剔除的值 $remove_fruits = array('peach', 'orange'); // 使用箭头函数剔除指定的值 $fruits = array_filter($fruits, fn($fruit) => !in_array($fruit, $remove_fruits)); // 输出新的数组 print_r($fruits);
The running results are the same as above. The function also supports callback functions that pass key names and key values to support higher-level filtering operations.
Summary
Removing a specified value from an array is a common operation in the PHP language. This function can be easily achieved through the two methods introduced in this article. The first is to use the array_diff function, which calculates the difference between two arrays to filter out unwanted elements. The second is to use a foreach loop to traverse the array and perform deletion operations in the loop, and finally output an array that meets the requirements. Both methods have their own advantages and disadvantages, and the appropriate method needs to be selected based on the actual situation.
Of course, there are other ways to implement array filtering operations, such as using built-in functions such as array_filter, array_udiff or custom callback functions. In short, there are many ways to remove specified values from an array in PHP. The key is to choose the appropriate method according to actual needs to achieve the best effect.
The above is the detailed content of php remove specified value from array. For more information, please follow other related articles on the PHP Chinese website!