如何删除空的关联数组条目 [英] How to remove empty associative array entries
本文介绍了如何删除空的关联数组条目的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有一个关联数组:$csv_arr
Array
(
[0] => Array
(
[Enfalac] => alpha linolenic acid 300 mg
[Enfapro] => alpha linolenic acid 200 mg
)
[1] => Array
(
[Enfalac] => arachidonic acid 170 mg
[Enfapro] =>
)
[2] => Array
(
[Enfalac] =>
[Enfapro] =>
)
[3] => Array
(
[Enfalac] => calcium 410 mg
[Enfapro] => calcium 550 mg
)
)
如何删除所有完全空白的条目(例如$csv_arr[2]
),但保留部分条目(例如$csv_arr[1]
How can I remove all completely empty entries such as $csv_arr[2]
but preserve partial entries such as $csv_arr[1]
我已经尝试过$csv_arr = array_filter(array_map('array_filter', $csv_arr));
,但这会删除空元素:$csv_arr[1]['Enfapro']
I've tried $csv_arr = array_filter(array_map('array_filter', $csv_arr));
but this removes the empty element: $csv_arr[1]['Enfapro']
Thx
推荐答案
尝试一下,有点奇怪,但是:
Try this, a little weird, but :
array_filter($csv_arr, function($v){return array_filter($v) == array();});
完全未经测试,我不记得这是否是正确的语法,但它可以正常工作.
Completely untested and I don't remember if this is the proper syntax or not for closures, but it could work.
编辑(经过测试并且可以正常工作):
Edit (tested and working):
<?php
$csv_arr = array(
0 => array(
'Enfalac' => 'alpha linolenic acid 300 mg',
'Enfapro' => 'alpha linolenic acid 200 mg'
),
1 => array(
'Enfalac' => 'arachidonic acid 170 mg',
'Enfapro' => ''
),
2 => array(
'Enfalac' => '',
'Enfapro' => ''
),
3 => array(
'Enfalac' => 'calcium 410 mg',
'Enfapro' => 'calcium 550 mg'
)
);
$c = function($v){
return array_filter($v) != array();
};
var_dump(array_filter($csv_arr, $c));
?>
这篇关于如何删除空的关联数组条目的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文