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

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

PHPz
PHPzOriginal
2023-04-27 15:54:26552browse

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')
        );

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);

The execution results are as follows:

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

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);

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
        )
)

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!

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