Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何从多维数组中删除空值_Php_Arrays_Phpexcel - Fatal编程技术网

Php 如何从多维数组中删除空值

Php 如何从多维数组中删除空值,php,arrays,phpexcel,Php,Arrays,Phpexcel,我有这样的数组结构 Array ( [1] => Array ( [1] => [2] => [3] => [4] => Product [5] => Product Name .. [59] => Color ) [2] =>

我有这样的数组结构

Array
(
    [1] => Array
        (
            [1] => 
            [2] => 
            [3] => 
            [4] => Product
            [5] => Product Name
            ..
            [59] => Color
        )

    [2] => Array
        (
            [1] => 
            [2] => 
            [3] => 1
            [4] => 9155
            ....
            [59] => 
        )

    [3] => Array
        (
            [1] => 
            [2] => 
            [3] => 1
            [4] => 9165
            ...
            [59] => Green
        )

    [4] => Array
        (
            [1] => 
            [2] => 
            [3] => 
            [4] => 
           ...
            [58] => 
            [59] => 
        )
        )
它从Excel工作表中读取数据,问题是当我从Excel工作表中读取数据时,它也会读取空行,我已经尝试忽略Excel工作表中的空行(当从MSexcel创建Excel时),但从Google驱动它读取空行。所以我想删除那些1-59是空白的行。在上面的示例中,索引为4的数组

注意,一些索引在许多子索引中缺少值,但我不想删除这些值,只有1-59中的所有子索引都是空的,那么主索引(这里是4)需要删除


有没有什么聪明的方法可以删除那些具有空值的数组索引。我不喜欢迭代所有数组并存储到另一个数组。

使用
array\u filter
。它将删除所有空值

array_filter($array);

使用
array\u filter
。它将删除所有空值

array_filter($array);

让我们试试数组过滤器

$entry = array(
             0 => 'foo',
             1 => false,
             2 => -1,
             3 => null,
             4 => ''
          );

print_r(array_filter($entry));

Array
(
    [0] => foo
    [2] => -1
)

让我们试试数组过滤器

$entry = array(
             0 => 'foo',
             1 => false,
             2 => -1,
             3 => null,
             4 => ''
          );

print_r(array_filter($entry));

Array
(
    [0] => foo
    [2] => -1
)

使用
array\u map

$array = array_map('array_filter', $array);

使用
array\u map

$array = array_map('array_filter', $array);

如果要删除空数组的索引4:

array_filter(array_map('array_filter', $array)); 

如果要删除空数组的索引4:

array_filter(array_map('array_filter', $array)); 

可能重复。可能重复。它不是删除索引4它自己只是删除子索引?它不是删除索引4它自己只是删除子索引?