Rumah > pembangunan bahagian belakang > tutorial php > 求教 多维数组中剔除空记录 (上次解决的有个bug

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

WBOY
Lepaskan: 2016-06-13 12:16:20
asal
883 orang telah melayarinya

求教 多维数组中删除空记录 (上次解决的有个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]);

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan