你的 array_no_empty 函数是可用的
但是有毛病:会返回空的成员数组$a = array(
array('a' => 0, 'b'=> ''),
array('a' => 0, 'b'=> ''),
array('a' => 1, 'b'=> '2'),
);
print_r(array_values(array_no_empty($a)));function array_no_empty($arr) {
if (is_array($arr)) {
foreach ( $arr as $k => $v ) {
if (empty($v)) unset($arr[$k]);
elseif (is_array($v)) {
$arr[$k] = array_no_empty($v);
}
}
}
return $arr;
}Array
(
[0] => Array
(
) [1] => Array
(
) [2] => Array
(
[a] => 1
[b] => 2
))
修改了一下$a = array(
array('a' => 0, 'b'=> ''),
array('a' => 0, 'b'=> ''),
array('a' => 1, 'b'=> '2'),
);
print_r(array_no_empty($a));function array_no_empty($arr) {
if (is_array($arr)) {
foreach ( $arr as $k => $v ) {
if (empty($v)) unset($arr[$k]);
elseif (is_array($v)) {
$t = array_no_empty($v);
if($t) $arr[$k] = $t;
else unset($arr[$k]);
}
}
}
return $arr;
}Array
(
[2] => Array
(
[a] => 1
[b] => 2
))
重排下标可用 array_values 函数$a = array(
array('a' => 0, 'b'=> ''),
array('a' => 0, 'b'=> ''),
array('a' => 1, 'b'=> '2'),
);
print_r(array_values(array_no_empty($a)));function array_no_empty($arr) {
if (is_array($arr)) {
foreach ( $arr as $k => $v ) {
if (empty($v)) unset($arr[$k]);
elseif (is_array($v)) {
$t = array_no_empty($v);
if($t) $arr[$k] = $t;
else unset($arr[$k]);
}
}
}
return $arr;
}Array
(
[0] => Array
(
[a] => 1
[b] => 2
))
但是有毛病:会返回空的成员数组$a = array(
array('a' => 0, 'b'=> ''),
array('a' => 0, 'b'=> ''),
array('a' => 1, 'b'=> '2'),
);
print_r(array_values(array_no_empty($a)));function array_no_empty($arr) {
if (is_array($arr)) {
foreach ( $arr as $k => $v ) {
if (empty($v)) unset($arr[$k]);
elseif (is_array($v)) {
$arr[$k] = array_no_empty($v);
}
}
}
return $arr;
}Array
(
[0] => Array
(
) [1] => Array
(
) [2] => Array
(
[a] => 1
[b] => 2
))
修改了一下$a = array(
array('a' => 0, 'b'=> ''),
array('a' => 0, 'b'=> ''),
array('a' => 1, 'b'=> '2'),
);
print_r(array_no_empty($a));function array_no_empty($arr) {
if (is_array($arr)) {
foreach ( $arr as $k => $v ) {
if (empty($v)) unset($arr[$k]);
elseif (is_array($v)) {
$t = array_no_empty($v);
if($t) $arr[$k] = $t;
else unset($arr[$k]);
}
}
}
return $arr;
}Array
(
[2] => Array
(
[a] => 1
[b] => 2
))
重排下标可用 array_values 函数$a = array(
array('a' => 0, 'b'=> ''),
array('a' => 0, 'b'=> ''),
array('a' => 1, 'b'=> '2'),
);
print_r(array_values(array_no_empty($a)));function array_no_empty($arr) {
if (is_array($arr)) {
foreach ( $arr as $k => $v ) {
if (empty($v)) unset($arr[$k]);
elseif (is_array($v)) {
$t = array_no_empty($v);
if($t) $arr[$k] = $t;
else unset($arr[$k]);
}
}
}
return $arr;
}Array
(
[0] => Array
(
[a] => 1
[b] => 2
))
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货