| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > PHP: Общие вопросы > Как задать условие с несколькими значениями? |
| Автор: andro_id 16.5.2007, 19:41 | ||
Есть конструкция:
А как сделать подсветку если статусов не 1, а 5? Не громоздить же 5 таких условий. Можно конечно прописать в базе, но это добавит лишний запрос. Думаю есть более простой способ, о котором я не знаю. Подскажите пожалуйста. |
| Автор: WolfON 16.5.2007, 19:51 | ||
Нэ? |
| Автор: CyClon 16.5.2007, 21:04 |
| array_search возвращает ключ... Если он не нужен, нужно юзать in_array. По сабжу, есть операторы AND и &&. Например, if ($var == 1 && $var2 == 2 && $var3 == 3) { ... }. |
| Автор: andro_id 16.5.2007, 22:05 | ||
WolfON, немного не понял это
суть в том, что каждому статусу должен соответствовать свой цвет. Я предполагал, что можно как-то прикрутить массив, но пока не знаю как. |
| Автор: CyClon 16.5.2007, 22:11 | ||
|
| Автор: andro_id 16.5.2007, 22:27 |
| CyClon, ага, наверное так. Спасибо. Завтра попробую. З.Ы.: эх, постов маловато, не могу пока плюс поставить. |
| Автор: teroni 16.5.2007, 23:23 | ||
По-простому |
| Автор: BuShaRt 17.5.2007, 00:26 |
| teroni, @isset - это что за извращение? |
| Автор: teroni 17.5.2007, 00:38 |
| Это чтобы не ошибки не было если $device_status не установлена. Если есть уверенность, что оно установлено, то собаку можно убрать. |
| Автор: BuShaRt 17.5.2007, 01:02 |
| teroni, isset тогда на что? Ладно мы http://forum.vingrad.ru/forum/topic-149366/anchor-entry1122396/45.html#st_0 с GZep спорили, что юзать isset или @, но вот, чтоб @isset - это нечто совсем новенькое Вообще можно писать много чего интересного, если юзать @, только краткость основанная на @ в большинстве своем вовсе не сестра таланта, а скорей небрежность. К сожалению, очень мало кто понимает, как должен выглядить код в идеале, а то и понятно, не одни месяц может уйти на отучивание от вредных привычек... |
| Автор: teroni 17.5.2007, 01:19 |
| Хотите сказать, что isset($color[$device_status]) не выдаст ошибку при неустановленном $device_status? Точно, здесь правильнее isset($color[@$device_status]) будет. Но все же думаю, что $device_status будет установлен полюбому, поэтому собаки можно выкинуть. |
| Автор: skyboy 17.5.2007, 01:50 |
| teroni, ошибку(error) и предупреждение(warning) - нет, не выдаст. подсказку(notice) - выдаст. если мне память не изменяет. С другой стороны, раз тут уже споры о смысле жизни пошли и мой троллинг ничего не испортит переменные лучше инициализировать дефолтнымии значениями, а потом уже перекрывать их значениями из $_GET/$_POST. А то получается, что надо вывести статус, а статус неопределен... Так зачем его тогда надо было выводить?! А насчет хранения в БД: смотри сам, andro_id, но потенциально один запрос(если результаты потом тихонько закешировать) погоды может и не сделать, зато редактировать список статусов можно будет через какую-нить админку, а в случае использования (только)массива придется переписывать РНР-файл... |
| Автор: BuShaRt 17.5.2007, 07:35 |
| teroni, Извините, а почему наличие массива $color вы проверяете на наличие, а от ошибок пре возможной нообъявленой переменной $device_status решили откреститься? |
| Автор: teroni 17.5.2007, 11:19 |
| Вопроса не понял. Вроде бы все, что надо по теме, я уже написал. |
| Автор: andro_id 17.5.2007, 12:16 | ||
| CyClon, спасибо. Всё работает. skyboy,
Было бы интереснее и правильнее сделать так, но думать, как это реализовать некогда. Надо чтобы уже работало. Пока собираю всё из кубиков, потом (по мере изучения PHP) буду обрабатывать напильником. Спасибо всем. |