Это плохая картина? (Переключение внутри цикла for / foreach)

Я пишу такой код:

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

Есть ли лучший способ сделать это? Мне это кажется грязным, но я могу просто подумать об этом.

Единственная альтернатива, о которой я могу подумать, - это оператор if для каждого ключа, который не выглядит лучше. То есть :

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

(или что-то типа того)

Я могу опубликовать точный код, если это необходимо, но это общая схема того, что происходит. Пожалуйста, критикуйте прочь, но помните, что я ищу здесь помощь. Так что, если я делаю что-то ужасно неправильное, то укажите на это.

Ответы на вопрос(6)

Ваш ответ на вопрос