public static function expand_nested_field($input_groups, $row, $field_name)
{
$subfield_key_token = $field_name['key'] . '_' . $field_name['sub'] . '-' . $field_name['trailing'];
if (!preg_match(self::get_complex_field_regex($field_name['key']), $subfield_key_token, $subfield_name)) {
return $input_groups;
}
$input_groups[$field_name['index']][$field_name['key']][$subfield_name['index']]['_type'] = $subfield_name['group'];
if (!empty($subfield_name['trailing'])) {
$input_groups[$field_name['index']][$field_name['key']] = self::expand_nested_field($input_groups[$field_name['index']][$field_name['key']], $row, $subfield_name);
} else {
if (!empty($subfield_name['sub'])) {
$input_groups[$field_name['index']][$field_name['key']][$subfield_name['index']][$subfield_name['key']][$subfield_name['sub']] = $row['field_value'];
} else {
$input_groups[$field_name['index']][$field_name['key']][$subfield_name['index']][$subfield_name['key']] = $row['field_value'];
}
}
return $input_groups;
}