if ($requiredField && ($optional1 || $optional2)) {
/* Do something */
}
Для выполнения бита кода /* Do something */
оператор if должен иметь значение TRUE
.
Это означает, что $requiredField
должно быть TRUE
, и поэтомудолжно быть ($optional1 || $optional2)
.
Чтобы $requiredField
было TRUE
, его просто нужно заполнить, а для второй части: ($optional1 || $optional2)
либо optional1
, либо optional2
сделает это.
Редактировать:
После перечитывания вопроса, похоже, я вас неправильно понял.Если пользователь должен ввести один конкретный фрагмент информации, а должен выбрать только один (не оба) из двух вариантов - тогда следует использовать следующее.
if ($requiredField && ($optional1 ^ $optional2)) {
/* Do something */
}
Это означает, что $optional1
или $optional2
должны быть заполнены - но не оба из них.