我有一个这样的数组我想删除最后一个没有任何值的数组
我使用了数组过滤器,但它不过滤后应该过滤数组
仅获得0,1,2。
$res_arr= array(
0=>array(1,2,3,6,7),
1=>array(7,5,3,8),
2=>array(6,5,9,8),
3=>array(),
);
$array1=array();
foreach($res_arr as $array_key=>$array_item)
{
if($array1[$array_key] == 0)
{
unset($array1[$array_key]);
}
}
print_r($array1);
以上代码我得到了 未定义的偏移量:0 未定义的偏移量:1 未定义的偏移量:2
答案 0 :(得分:4)
使用array_filter
:
$res_arr= array(
0=>array(1,2,3,6,7),
1=>array(7,5,3,8),
2=>array(6,5,9,8),
3=>array(),
);
$r = array_filter($res_arr, function($v) { return !empty($v); });
print_r($r);
答案 1 :(得分:2)
$new_arr=array_filter($res_arr,'count');
print_r($new_arr);
你可以这样吗
<?php
$res_arr= array(
0=>array(1,2,3,6,7),
1=>array(7,5,3,8),
2=>array(6,5,9,8),
3=>array(),
);
$i=0;
foreach($res_arr as $arr)
{
if(count($arr)==0)
{
unset($res_arr[$i]);
}
$i++;
}
print_r($res_arr);
<强> OUTPUT :
强>
Array
(
[0] => Array
(
[0] => 1
[1] => 2
[2] => 3
[3] => 6
[4] => 7
)
[1] => Array
(
[0] => 7
[1] => 5
[2] => 3
[3] => 8
)
[2] => Array
(
[0] => 6
[1] => 5
[2] => 9
[3] => 8
)
)