У меня есть оператор if, который используется в двух разных функциях против тех же условий. Проблема в том, что условия заканчиваются довольно длинными (5-7 ОР) и, возможно, в будущем их необходимо будет изменить. Если они будут изменены, условия будут одинаково изменяться в обеих функциях.Сгенерировать условия IF из функции
Пример одного, если заявление:
if ($this->object === 'one' || $this->object === 'two' || $this->object === 'three') {
echo 'Yes!';
} else {
echo 'No!';
};
Я имею в виду создание массива и функцию, которая будет подаваться в если заявление, но не могу думать о какой-либо способ получить, если заявление, чтобы проверить а не проверять наличие ввода.
$this->object = 'one';
$test_array = array('one', 'two', 'three');
function stmbuilder($array) {
$count = count($array);
$stm = '';
for ($i = 0; $i < $count; $i++) {
$intro = '$this->object ===';
$connector = ($i < $count-1 ? ' || ' : '');
$stm .= $intro . $array[$i] . $connector;
}
return $stm;
}
$condition = stmbuilder($test_array);
if ($condition) {
echo 'Yes!';
} else {
echo 'No!';
} //Will always echo Yes! since $condition has a value but does not check against what $this->object is
Любая помощь приветствуется!
'if (in_array ($ this-> object, $ test_array, true))' – AbraCadaver