Home  >  Article  >  Backend Development  >  How to remove empty elements from an array in php

How to remove empty elements from an array in php

PHPz
PHPzOriginal
2023-04-23 17:48:29579browse

In the PHP development process, arrays are a frequently used data structure; in practical applications, it is often necessary to delete empty elements in the array in order to better process and use the array and improve development efficiency.

So, how to remove empty array elements in PHP?

1. Use foreach loop traversal

We can use foreach loop to traverse the array, and then delete the array elements by judging whether they are empty. The example is as follows:

$arr = array('a', '', 'c', 'd', '');
foreach ($arr as $key => $value) {
    if (empty($value)) {
        unset($arr[$key]);
    }
}

print_r($arr);

The above code , use foreach to loop through all elements in the $arr array, and determine whether $value is empty. If it is empty, use unset Function removes the element from the array.

2. Use the array_filter function

Another common method is to use the array_filter function. It can accept an array as a parameter and return a new array that does not contain values ​​FALSE, NULL, '' or [] element, its syntax is as follows:

$new_arr = array_filter($arr);
print_r($new_arr);

3. Use array_values ​​function

Use array_filter function to delete empty elements, the returned array may There will be cases where the key names are discontinuous; in order to make the key names continuous, we can use the array_values function. The function of this function is to return all the values ​​in the array and re-establish continuous integer indexes, for example:

$new_arr = array_values(array_filter($arr));
print_r($new_arr);

In the above code, we use array_filter to delete empty elements, and then use the array_values function to re-establish continuous integer indexes.

4. Use the array_reduce function

If the array contains empty array elements, the array_filter function still cannot delete these elements; at this time we can use The array_reduce function traverses the array and uses conditional operators to delete empty elements. The example is as follows:

$arr = array('a', '', 'c', 'd', array());
$new_arr = array_reduce($arr, function($result, $item) {
    return is_array($item) || $item !== '' ? array_merge($result, array($item)) : $result;
}, array());

print_r($new_arr);

In the above code, the array_reduce function is used to reduce the array$arr Traverse once and use conditional operators to delete empty elements.

5. Summary

There are many ways to remove empty array elements in PHP, such as using foreach loop traversal, array_filter function, array_values function, array_reduce function, etc.; the specific method you should choose depends on the actual situation and personal habits. No matter which method is used, you need to understand their working principles and pay attention to modifications to the original array to avoid affecting subsequent calculations and uses.

The above is the detailed content of How to remove empty elements from an array in php. 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