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', ), )