Home >Backend Development >PHP Problem >How to remove null values ​​​​from an array in php (three methods)

How to remove null values ​​​​from an array in php (three methods)

PHPz
PHPzOriginal
2023-04-12 14:44:332062browse

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!

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