Czy to zły wzór? (Przełącz wewnątrz na pętlę / foreach)

Piszę kod, taki jak:

foreach($array as $key => $value) {
    switch($key) {
        case 'something':
            doSomething($value);
            break;
        case 'somethingelse':
            doSomethingElse($value);
            break;
    }
}

Czy jest lepszy sposób na to? Wydaje mi się brudna, ale mogę po prostu przestać o tym myśleć.

Jedyną inną alternatywą, o której mogę pomyśleć, jest instrukcja if dla każdego klucza, która nie wydaje się lepsza. To znaczy. :

if($array[0] == 'something') {
    doSomething($array[0]);
}
if($array[1] == 'somethingelse') {
    doSomethingElse($array[1]);
}

(czy jakoś tak)

W razie potrzeby mogę napisać dokładny kod, ale jest to ogólny zarys tego, co się dzieje. Proszę krytykować, ale pamiętajcie, że szukam pomocy tutaj. Więc jeśli robię coś rażąco złego, wskaż to.

questionAnswers(6)

yourAnswerToTheQuestion