Добрый день PHP: if($row[idstatus_vakans] == 2 OR 3 OR 4 ....){ echo ...... ...} Так не работает . Не хочется писать switch. есть какое то простое решение без длинного кода? Спасибо
выдало ошибку --- Добавлено --- isset ... пробую , но что то не так.. если (присутствует (переменная [с числом] равным х или y или z){ то, выполняю действие } Вроде всё правильно но не работает
А скопипастить ошибку слабо? Хотя, вангую, используете php < 5.4, поэтому краткого синтаксиса массивов нету PHP: if(in_array($row['idstatus_vakans'],array (2,3,4,....)))
in_arrray() правильно все же использовать... но вы и сравнение то неверно записываете, синтаксис такой PHP: if($row[idstatus_vakans] == 2 OR $row[idstatus_vakans] ==3 OR $row[idstatus_vakans] ==4 ....){ echo ...... ...}
Это дольше, чем на форуме вопрос задавать и индусятину разгребать? --- Добавлено --- Народ, давайте не забывать о самодокументируемости кода. Юзание иссетов и инарэеев с константами в качестве значений там, где "лень писать свитч", может потом автору выйти боком. У всех языковых конструкций есть не только вход и выход, но и контекст применения.
@Fell-x27, чисто мое мнение, что isset и in_array с булевыми значениями более правильно использовать в контексте условного оператора if, чем хак для switch: PHP: switch(...) { case 2: case 3: case 4: ... break; }
Чойта хак-то сразу? Это документированная фича. Она есть во всех сиподобных языках, по крайней мере во всех сиподобных языках, какие я знаю. Это гибкое расширяемое решение, на случай, если для определенных значений понадобится задать отдельное поведение приложения.
Ну я к тому, что это не баг интерпретатора и не косяк языка, как, например, возможность дергать в статичной форме методы класса через экземпляр этого класса. Это вот реально косячина. А такое поведение свитча - это так и задумано изначально было, так что все окей
Много красивых слов , не все понял, но спасибо! Вот это работает: Узнал в мануале про in_array . спасибо