Почему бы вам не использовать для этого многомерные массивы?
Вместо:
filtros['formacion_c_1'] = 2
filtros['formacion_c_2'] = 1
filtros['formacion_c_3'] = 2
Почему бы и нет:
filtros['formacion_c']['1'] = 2
filtros['formacion_c']['2'] = 1
filtros['formacion_c']['3'] = 2
[править]
Я заметил в комментариях, что вы сказали, что вы получаете этот массив из формы. Вы можете иметь многомерные массивы в формах HTML.
[/ Править]
Если вы не можете изменить код, я думаю, вы могли бы пройтись по каждому элементу и сравнить ключ:
$keyStart = 'formacion_c_';
foreach($filtros as $key => $value) {
if(strstr($key, $keyStart)) {
$id = str_replace($keyStart, '', $key);
}
}