N записей... Что делать?

У нас есть массив подготовленных к записи сообщений который выглядит так:

<?
$firms 
= array(
    array(
        
'firm_id' => N,
        
'subject' => S,
        
'body'    => S,
        
'from'    => S,
        
'to'      => S
    
),
    .....
    array(
        
'firm_id' => N,
        
'subject' => S,
        
'body'    => S,
        
'from'    => S,
        
'to'      => S
    
)
)
?>

Сообщения пишутся в N количество баз данных с одинаковой структурой, сервер на который необходимо записать данные определяется в зависимости от firm_id, напишите оптимальный, по вашему мнению, алгоритм обработки и записи этих данных


Некоторые возможные решения:
В любом случае придется пройтись по всему массиву циклом в котором прописать условия или переключатель, примерно так, можно написать функцию и передавать в нее данные, а она уже будет заниматься логикой, вариантов много:

<?
for($i=0,$k count($firms);$i<$k;$i++) {

    if(
$firms[$i]['firm_id'] == 'N') {
        
// действия
    
} elseif($firms[$i]['firm_id'] == 'N2'){
        
// действия
    
} else {
        
// действия
    
}
    
    
// или использовать переключатель
    /*switch($firms[$i]['firm_id') {
        case 'N': // действия
            break;
            
        case 'N2': // действия
            break;
    
        default: // действия по умолчанию
    }
    */
    
}
?>