Manunich
Мудрец
(15905)
8 лет назад
Может использовать диапазоны, типа if($x ==1 && in_array($y, [1,2,3])){...
В массиве могут быть различные значения
А ещё фраза "много подобных условий" наталкивает на мысль о создании одной функции, которую можно будет везде вызывать)
Миша Сретенков
Ученик
(225)
8 лет назад
может так?
if ($x == 1 and ($y>=1 and $y <= 3))
и еще можно убрать внутренний скобки
if ($x == 1 and $y>=1 and $y <= 3)
wALLopМастер (1310)
8 лет назад
блин не это имел ввиду, ну допустим вот так
if ($x == 1 and ($y == 1 or $y == 7))
вопрос можно ли использовать скобки? и будет ли это равносильно:
if ($x == 1 and $y == 1 or $x == 1 and $y == 7))
Капитан Гугл
Искусственный Интеллект
(146251)
8 лет назад
Вот именно для этого на первом курсе студентам-программистам дают дискретную математику, булеву алгебру, ДНФ/КНФ, законы де Моргана и поглощения и т. д. Да, есть формулы для упрощения подобных выражений, но их много разных для разных случаев.
А в данном случае прав Manunich.
вместо if ($x == 1 and $y == 1 or $x == 1 and $y == 2 or $x == 1 and $y == 3))
разбить вот так можно,
if ($x == 1){ if ($y == 1 or $y == 2 or $y == 3)}
но не в моем случае, условия более сложные в коде, поэтому интересует именно этот вопрос