Могу ли я сделать оператор if-else на основе массива?

Вот мой текущий код:

if ( by == 'id') {
handlePromises(identifier_websites)

} else if ( by == 'name'){
handlePromises(names_websites)

} else if ( by == 'email' ) {
handlePromises(email_websites)

} else if ( by == 'phone' ) {
handlePromises(phone_websites)
}

Теперь я хочу сделать его немного более модульным (Функциональные). Я имею в виду, я хочу сделать весь код выше на основе массива, как это:

$parts = ['id', 'name', 'email', 'phone'];

Так что, если я добавлю один элемент в этот массив, то автоматически else if Блок должен быть добавлен в код на основе этого элемента.

Это возможно?

0

Решение

Не уверен, что получу вас, но вот как вы можете немного автоматизировать вышеизложенное.

$parts = [
'id' => identifier_websites,
'name' => names_websites,
'email' => emails_websites,
'phone' => phone_websites
];

foreach ($parts as $cond => $params) {
if (by == $cond) {
handlePromises($params);
break;
}
}
3

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]