php递归过滤多维数组的值

 PHP基础  2020-12-27  admin  97  130

php递归过滤多维数组的值

/**
 * php递归过滤多维数组的值
 * @param $filter
 * @param $data
 * @return array
 */
function array_map_recursive($filter, $data) {
    $result = array();
    foreach ($data as $key => $val) {
        $result[$key] = is_array($val)
            ? array_map_recursive($filter, $val)
            : call_user_func($filter, $val);
    }
    return $result;
}

测试:

$arr = [
    'class_name'=>'三班',
    'class_student'=>[
        'student_name'=>'小明',
        'age'=>'10',
    ],
];
$arr2 = array_map_recursive(function($val){
    return '__'.$val;
},$arr);

结果:
array (
    'class_name' => '__三班',
    'class_student' =>
        array (
            'student_name' => '__小明',
            'age' => '__10',
        ),
)


转载必须注明出处:

php递归过滤多维数组的值 —— centhp.com

相关推荐


go读取文件内容

go读取文件内容

go类型断言

go类型断言

go的defer的使用

go的defer的使用

css常用属性

css常用属性