Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Условие if (or...and...)
 
 автор: Shorr Kan   (07.10.2006 в 09:58)   письмо автору
 
 

Я правильно понимаю, что

<?
if($a=and ($b>or $b<2)){}
?>

равносильно

<?
if($a=and $b>or $a=and $b<2){}
?>

?

   
 
 автор: d1scover   (07.10.2006 в 10:22)   письмо автору
 
   для: Shorr Kan   (07.10.2006 в 09:58)
 

нет, приоритет операций, сначала and, потом or. Удобней представлять and, как +, а or, как *.
Исходный код равносилен:

<? 
if ($a==and $b>or $b<2) {} 
?>

p.s.
равно в php ==.

   
 
 автор: Shorr Kan   (07.10.2006 в 10:35)   письмо автору
 
   для: d1scover   (07.10.2006 в 10:22)
 

if ($a==1 and $b>5 or $b<2) {}

мне кажется, что это - совсем не то же, что в моих примерах. В этом случае, при $a=2 и $b=1 - условие будет истинным (из-за or $b<2 ). А мне-то это не подходит.

   
 
 автор: d1scover   (07.10.2006 в 11:18)   письмо автору
 
   для: Shorr Kan   (07.10.2006 в 10:35)
 

Перепутал, приоритет вначале OR, потом AND

   
 
 автор: Shorr Kan   (07.10.2006 в 12:53)   письмо автору
 
   для: d1scover   (07.10.2006 в 11:18)
 

Тоже не годится. Если так, то сработает ТОЛЬКО $a==1 ... даже если $b будет некорректным.

   
 
 автор: AlexSol   (07.10.2006 в 13:00)   письмо автору
 
   для: Shorr Kan   (07.10.2006 в 12:53)
 

>Перепутал, приоритет вначале OR, потом AND
имеется в виду, что сначала будет выполнено OR, потом AND если скобки не расставить
-----------------------
в чем проблема?

<? 
if($a==and ($b>or $b<2)){} 
?> 

равносильно

<? 
if(($a==and $b>5) or ($a==and  $b<2)){} 
?> 


вы это хотели?

   
 
 автор: Shorr Kan   (07.10.2006 в 15:00)   письмо автору
 
   для: AlexSol   (07.10.2006 в 13:00)
 

Да

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования