Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Закрытая темаСоздание новой темы Создание опроса
> два условия в if 
:(
    Опции темы
ovxxx
Дата 21.6.2005, 08:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 28
Регистрация: 21.3.2005

Репутация: нет
Всего: нет



как мне правильно написать несколько условий в конструкции if:
правильно ли так?
Код

if (!$q or $g>5)
{
нужные операции;
}

PM MAIL   Вверх
o.s.a.
Дата 21.6.2005, 09:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Xo4y B MocKBy
**


Профиль
Группа: Участник
Сообщений: 312
Регистрация: 16.2.2005
Где: Ташкент

Репутация: 2
Всего: 15



Правильно или нет - зависит от того, чего ты хочешь добиться.
В данном случае условие бедет true, если верно и первое условие и второе,
или верны оба условия, но в данном примере оба условия верными никогда не будут

Это сообщение отредактировал(а) o.s.a. - 21.6.2005, 09:19


--------------------
Не могу стоять, пока другие работают, пойду полежу.
PM MAIL ICQ   Вверх
Irokez
Дата 21.6.2005, 09:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


индеец
***


Профиль
Группа: Участник Клуба
Сообщений: 1180
Регистрация: 20.10.2004

Репутация: 22
Всего: 53



Цитата(ovxxx @ 21.6.2005, 08:56)
правильно ли так?

правильно, но лучше использовать || и &&, заместо or и and

Цитата(o @ 21.6.2005, 09:17)
В данном случае условие бедет true, если верно и первое условие и второе,
или верны оба условия

бред
PM   Вверх
Mal Hack
Дата 21.6.2005, 09:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 122
Всего: 261



Цитата(o @ 21.6.2005, 10:17)
если верно и первое условие и второе,
или верны оба условия,

Если верно хотя бы одно.

Цитата(o @ 21.6.2005, 10:17)
но в данном примере оба условия верными никогда не будут

Почему же smile
Предположим, что что не объявленна переменная $g. Как итог выполнится !$g.
PM ICQ   Вверх
Irokez
Дата 21.6.2005, 09:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


индеец
***


Профиль
Группа: Участник Клуба
Сообщений: 1180
Регистрация: 20.10.2004

Репутация: 22
Всего: 53



Цитата(Mal @ 21.6.2005, 09:46)
Предположим, что что не объявленна переменная $g. Как итог выполнится !$g.

все гораздо проще smile
Код

$q = 0;
$g = 6;

PM   Вверх
o.s.a.
Дата 21.6.2005, 10:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Xo4y B MocKBy
**


Профиль
Группа: Участник
Сообщений: 312
Регистрация: 16.2.2005
Где: Ташкент

Репутация: 2
Всего: 15



sorry, хотел написать ИЛИ.
Если $g не объявлена, то $g>5 не выполниться
Цитата
правильно, но лучше использовать || и &&, заместо or и and

почему?


Это сообщение отредактировал(а) o.s.a. - 21.6.2005, 10:28


--------------------
Не могу стоять, пока другие работают, пойду полежу.
PM MAIL ICQ   Вверх
Black
Дата 21.6.2005, 10:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Web-Development
**


Профиль
Группа: Участник
Сообщений: 980
Регистрация: 15.8.2004

Репутация: 7
Всего: 45



o.s.a.

Цитата
Если $g не объявлена, то $g>5 не выполниться


if (!$q or $g>5)
{
нужные операции;
}

так зато !$q выполнится.

Читаю: Если переменная $g не существует или 0 ИЛИ переменная $g > 5 то

{
нужные операции;
}


--------------------
Могу все, но ничего не умею :-)
PM WWW   Вверх
Payne
Дата 21.6.2005, 10:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Детектив
*


Профиль
Группа: Участник
Сообщений: 247
Регистрация: 6.4.2005
Где: Петербург

Репутация: нет
Всего: 10



Да тут, в принципе, достаточно , чтобы $q была равна единице или $g была больше пяти. Либо и то и другое. Думаю, стоит обратить внимание и на приоритет логических операций:

or -> xor -> and -> || -> && -> ! (по возрастанию).

Следовательно, в условии if (!$q or $g>5) сначала проверится условие !$q (= result), а уже потом будет проверено условие result or $g>5. ovxxx, тебе нужно было такое условие?
Если же написать if (! ($q or $g>5)), то вначале проверится условие or, а потом отрицание.
Вообще же, по правилам хорошего тона, при записи составных условных операторов нужно пользоваться скобками, поскольку не все любят запоминать приоритет операций.

Цитата
правильно, но лучше использовать || и &&, заместо or и and

Почему?

У них выше приоритет.

Это сообщение отредактировал(а) Payne - 21.6.2005, 10:54
PM MAIL WWW ICQ Skype   Вверх
Black
Дата 21.6.2005, 11:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Web-Development
**


Профиль
Группа: Участник
Сообщений: 980
Регистрация: 15.8.2004

Репутация: 7
Всего: 45



Guest - ну иприкол вышел smile

Со стула упал... когда узнал что мы тут все тупили на протяжении всего топика.


--------------------
Могу все, но ничего не умею :-)
PM WWW   Вверх
Irokez
Дата 21.6.2005, 11:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


индеец
***


Профиль
Группа: Участник Клуба
Сообщений: 1180
Регистрация: 20.10.2004

Репутация: 22
Всего: 53



Цитата(Guest @ 21.6.2005, 10:53)
у всех кроме Ирокеза в глазах бананы, имхо...

smile
PM   Вверх
Mal Hack
Дата 21.6.2005, 12:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 122
Всего: 261



Гость_Joes , а ты уверен что за такие постинги ты из бана выйдешь?
Тема закрыта.
PM ICQ   Вверх
  
Закрытая темаСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0511 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.