Боюсь, я не знаю php.Я предполагаю, что если вы передадите (скажем) $ vars [$ input] в функцию, то к тому времени, когда она станет параметром для функции, его установка будет истинной (если это не так, япопробуйте написать функцию, которая проверяет isset () по своему параметру, и установите $ val, если это так).Я нахожу еще, чтобы добавить сложности;Я стараюсь их избегать.В этом случае я бы написал функцию, которая вернула бы значение;тогда все мои elseif могут стать простыми if.
f() {
if (isset($vars[$input])) {
return $vars[$input];
}
if (isset($this->getI['io'])) {
return $this->getI['io'];
}
if (isset($vars[5])) {
return $vars[5];
}
return 10;
}
И, конечно, в вашей вызывающей функции присвойте $ val результату этой функции.