多次元配列からの空のレコードの削除に関するアドバイスを求めています (前回はバグが解決されました
この投稿の最終編集者は A9925 2015-03-16 18:29:58 元の投稿
: http://bbs.csdn.net/topics/390997712
最新の質問は、配列に値 '0' がある場合、要素は実際、これは貴重な要素です
["status"]=>
string(1) "0"
$ 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;
}
このメソッドがどのように改善されたとしても、ありがとう
-- ----解決策のアイデア---------------------if( empty()) if に変更します($v === false ){unset.....}
------解決策のアイデア------ ------- if (empty($v)) unset($arr[$k]);
が
if (empty($v)
&& $v !== 0) unset($arr[$k]);