@Victor0816

Не работает условие if?

Здравствуйте.
Не могу понять.
if($fromType == "one" || "two" || "three" || ... и так до 10){
                $stop_round = 10;
            }
if($fromType == "one_one" || "two_two" || "three_three" || ... и так до 10){
                $stop_round = 5;
            }


И возвращает всегда последнее $stop_round = 5;
Но почему?
  • Вопрос задан
  • 122 просмотра
Решения вопроса 2
glaphire
@glaphire Куратор тега PHP
PHP developer
if($fromType == "one" || $fromType == "two" || $fromType == "three" || ... ){
      $stop_round = 10;
}

Принцип условия неправильный - непустая строка будет считаться как true, а сравнение со строкой - другое дело
Ответ написан
DevMan
@DevMan Куратор тега PHP
потому что или записывается как
if($fromType == "one_one" || $fromType == "two_two" || $fromType == "three_three" || $fromType == ... и так до 10)
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
l3ftoverz
@l3ftoverz Куратор тега PHP
Люблю Финский металкор и ищу работу.
Если у тебя там очень много сравнений - используй in_array
Ответ написан
@mistergonza
PHP6 evangelist
if (in_array($fromType, ["one_one", "two_two", "three_three", ...])) {
...
}
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы