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它自己只是删除子索引?