Home > Backend Development > PHP Problem > How to remove null values ​​from multidimensional array in php

How to remove null values ​​from multidimensional array in php

PHPz
Release: 2023-04-27 16:20:04
Original
664 people have browsed it

PHP is a popular dynamic scripting language that is widely used in the field of web development. In PHP, a multidimensional array is a common data structure that consists of multiple nested subarrays. However, when using multi-dimensional arrays, we often encounter the problem of null values, which will cause certain troubles in the processing and use of arrays. This article will introduce how to use PHP to remove null values ​​​​from multi-dimensional arrays, making array processing more efficient and simple.

1. Understanding multidimensional arrays

In PHP, a multidimensional array is an array composed of multiple subarrays. Each subarray is also an array and can contain multiple elements, which can be different data types such as integers, strings, etc. The following is a simple multi-dimensional array example:

$array = array(
          array('apple', 'banana', ''),
          array('', 'orange', 'pear'),
          array('grape', '', 'kiwi')
        );
Copy after login

This multi-dimensional array consists of 3 sub-arrays, each sub-array contains 3 elements. These elements contain empty strings, which are null values ​​in multidimensional arrays.

2. Use the array_filter() function to remove null values

In PHP, using the array_filter() function can easily remove null values ​​from an array. This function can be used for one-dimensional arrays and multi-dimensional arrays, and can filter elements in the array based on the specified callback function. The following is a simple example for removing null values ​​in a one-dimensional array:

$array = array('apple', '', 'banana', 'orange', '');
$array = array_filter($array);
print_r($array);
Copy after login

The execution results are as follows:

Array
(
    [0] => apple
    [2] => banana
    [3] => orange
)
Copy after login

As you can see, the null values ​​have been removed, leaving only non-empty elements. This example is only for one-dimensional arrays. If you want to process multi-dimensional arrays, you need to use recursive calls and filter sub-arrays. The following is an example of a multi-dimensional array:

$array = array(
          array('apple', 'banana', ''),
          array('', 'orange', 'pear'),
          array('grape', '', 'kiwi')
        );
function filter_array($array) {
    foreach ($array as $key => $value) {
        if (is_array($value)) {
            $array[$key] = filter_array($value);
        } else {
            if ($value === '' || $value === null) {
                unset($array[$key]);
            }
        }
    }
    return $array;
}
$array = filter_array($array);
print_r($array);
Copy after login

The execution result is as follows:

Array
(
    [0] => Array
        (
            [0] => apple
            [1] => banana
        )

    [1] => Array
        (
            [1] => orange
            [2] => pear
        )

    [2] => Array
        (
            [0] => grape
            [1] => kiwi
        )
)
Copy after login

As you can see, the null values ​​have been removed, leaving only non-empty elements. This example uses recursive calls and also filters subarrays.

3. Summary

In PHP, multi-dimensional array is a common data structure. During use, you need to pay attention to the handling of null values. Using the array_filter() function can easily remove null values ​​​​in one-dimensional arrays, but for multi-dimensional arrays, you need to use recursive calls to filter sub-arrays. Removing null values ​​​​in multi-dimensional arrays can make array processing more efficient and simpler, and can also avoid unnecessary errors caused by null values.

The above is the detailed content of How to remove null values ​​from multidimensional array in php. For more information, please follow other related articles on the PHP Chinese website!

source:php.cn
Statement of this Website
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
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template