处理多维数组

在实际工作,我们经常会遇到对多维数组的处理,一般就会采用多重循环的方式,直到数组的最里面那一层或者使用递归来处理,在php中可以使用array_walk_recursive来灵活处理

	/**
     * @desc 处理多维数组
     * @param array $data 待处理数据
     * @param array $field 处理字段数组
     */
    public static function dealSystemLang($data, $field)
    {
        $keys = [];
        //取满足条件的数据
        array_walk_recursive($data, function($value, $key) use ($field, &$keys) {
           if(in_array($key, $field, true)) {
                    $keys[] = $value;
            }
        }, $keys);
        if(empty($keys)){
            return $data;
        }
        //处理满足条件的数据
        array_walk_recursive($data, function(&$value, $key) use ($field){
                if(in_array($key, $field, true)) {
                    $value = ucfirst($value);
                }
        });
        return $data;
    }

在实际开发中能使用编程语言内置的函数处理就尽量使用,可以使代码更简洁,运行更快

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值