Home >Backend Development >PHP Problem >How to remove null values from an array in php (three methods)
In the process of using PHP language for array operations, sometimes we need to remove null values from the array. Because null values will have an impact on some array operations, and in some cases we don't want null values to have a negative impact on array operations, so it becomes very necessary to remove null values. So next, let's take a look at how to remove null values from an array in PHP.
1. Use the array_filter() function
To filter out null values from an array, the first thing that comes to mind is definitely using PHP’s array_filter() function. This function will return a new array that does not contain elements for which the callback function returned false when processing the original array. Here, we can use PHP's built-in is_null() function to make judgments and filter out elements with null values.
The specific implementation method is as follows:
$arr = array('aa', 0, null, '', false, true, null, 'bb'); $filteredArray = array_filter($arr, function($item) { return !is_null($item); });
After doing this, $filteredArray will only contain non-null values.
2. Use the foreach loop to remove null values
In addition, we can also use the foreach loop to traverse the array and remove the null values.
The code that can be implemented is as follows:
foreach ($arr as $key => $value) { if(is_null($value)){ unset($arr[$key]); } }
In this way, the null value in the original array can be removed. Of course, using the unset() function will cause the keys of the array to be rearranged. If you want the keys not to be rearranged, you can also use the following code:
foreach ($arr as $key => $value) { if(is_null($value)){ array_splice($arr, $key, 1); } }
3. Use the array_diff() function
Another relatively simple method is to use the array_diff() function to make a difference between the original array and an array with only null values, thereby removing the null values.
The code that can be implemented is as follows:
$arr = array('aa', 0, null, '', false, true, null, 'bb'); $filteredArray = array_diff($arr, array(null));
After doing this, $filteredArray will only contain non-null values.
Summary
In actual development, you need to flexibly choose a method that suits you according to the situation. Using the array_filter() function can solve the problem in one line of code, but if there are too many array elements, it will consume a certain amount of performance. From the perspective of performance considerations, it is more appropriate to use the foreach loop or the array_diff() function.
The above is the detailed content of How to remove null values from an array in php (three methods). For more information, please follow other related articles on the PHP Chinese website!