多维数组怎么去空值

在php中去除数组中的空值可以使用array_filter() 这个函数 但是这个函数只能对一维数组起作用,一旦需要对多维数组去空就不行了,而且去除的空也包括(int)0,(string)0,使用起来还是有点问题!

自定义函数去除数组中的某个值 默认是空值,  一维数组和多维数组都可以使用!

下面为代码

$b=array('back'=>array('id'=>'','name'=>3),'status'=>'','content'=>array('name'=>'','id'=>array(1=>'',2=>'')));
        function filter_array($arr, $values = ['', null, false, 0, '0',[]]) {
            foreach ($arr as $k => $v) {
                if (is_array($v) && count($v)>0) {
                    $arr[$k] = filter_array($v, $values);
                }
                foreach ($values as $value) {
                    if ($v === $value) {
                        unset($arr[$k]);
                        break;
                    }
                }
            }
            return array_filter($arr);
        }

        print_r(filter_array($b));

上面都是转载别人的,我自己又加了点

转载自:http://www.cnblogs.com/phpshen/p/6027388.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值