PHP

много подобных условий, можно ли как то так сокращать?

сократить if ($x == 1 and ($y == 1 or $y == 2 or $y == 3)) вместо 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)} но не в моем случае, условия более сложные в коде, поэтому интересует именно этот вопрос
Лучший ответ
Может использовать диапазоны, типа if($x ==1 && in_array($y, [1,2,3])){... В массиве могут быть различные значения А ещё фраза "много подобных условий" наталкивает на мысль о создании одной функции, которую можно будет везде вызывать)
Остальные ответы
может так? if ($x == 1 and ($y>=1 and $y <= 3)) и еще можно убрать внутренний скобки if ($x == 1 and $y>=1 and $y <= 3)
блин не это имел ввиду, ну допустим вот так if ($x == 1 and ($y == 1 or $y == 7)) вопрос можно ли использовать скобки? и будет ли это равносильно: if ($x == 1 and $y == 1 or $x == 1 and $y == 7))
скобки скорее всего нужны, потому что приоритет у операций and и or разный
$x == 1 and $y == 1 or $x == 1 and $y == 2 or $x == 1 and $y == 3 Разумеется это равносильно: $x == 1 and ($y == 1 or $y == 2 or $y == 3)
Вот именно для этого на первом курсе студентам-программистам дают дискретную математику, булеву алгебру, ДНФ/КНФ, законы де Моргана и поглощения и т. д. Да, есть формулы для упрощения подобных выражений, но их много разных для разных случаев. А в данном случае прав Manunich.
ну не на того я учился, печаль xD
Первый результат из гугла: http://guap. ru/guap/kaf44/trud/erosh_diskr_mat.pdf За пару месяцев вполне реально освоить, в жизни пригодится.