Home > Backend Development > PHP Tutorial > 求教 多维数组中剔除空记录 (上次解决的有个bug

求教 多维数组中剔除空记录 (上次解决的有个bug

WBOY
Release: 2016-06-13 12:16:20
Original
880 people have browsed it

求教 多维数组中删除空记录 (上次解决的有个bug

本帖最后由 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]);

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template