我有这个数组,我想去除那些没有值的索引,所以例如在索引[0]中我想摆脱[0]和[4]所以我会有一个3值数组,依此类推......
Array
(
[0] => Array
(
[0] =>
[1] =>
[2] => 7
[3] =>
[4] => 8
[5] =>
)
[1] => Array
(
[0] =>
[1] =>
[2] => 9
[3] => 10
[4] =>
)
[2] => Array
(
[0] =>
[1] => 11
[2] => 12
[3] =>
)
)
答案 0 :(得分:1)
foreach ($array as $key=>$value) {
if ($value == '') { unset($array[$key]); }
}
应该这样做。
答案 1 :(得分:0)
这是array_filter的一个很好的用例。检查!empty()允许您删除空字符串和空值。
$filter_func = function($input) {
$output = [];
foreach ($input as $set) {
$output[] = array_values(
array_filter($set, function($element) {
return !empty($element);
})
);
}
return $output;
}
答案 2 :(得分:0)
您可以使用array_filter()
$my_array = array_filter($my_array);
如果你需要"重新索引"之后,您可以运行$my_array = array_values($my_array)
示例:
$a = array();
$a[] = '';
$a[] = 1;
$a[] = null;
$a[] = 2;
$a[] = 3;
$a = array_filter($a);
print_r($a);
输出:
Array
(
[1] => 1
[3] => 2
[4] => 3
)