处理多维数组

在实际工作,我们经常会遇到对多维数组的处理,一般就会采用多重循环的方式,直到数组的最里面那一层或者使用递归来处理,在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;
    }

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


版权声明:本文为z15818264727原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。