Логика условия if

Лексеич

Московский калмык
Логика условия if

Чего-то запутался я немного в логике...

Задача (упрощенно):
если переменная А больше нуля и если есть переменная Б и она больше 10 и если есть переменная С и она меньше нуля, то действия.

Код:
PHP:
if (  $a>0 
  && ($b && $b>10) 
  && ($c && $c<0)
   )
{
//исполняем
};
правильно ли условие записано?
 

DimbIch

Новичок
if ($a>0 AND $b>10 AND $c<0)
)
{
//исполняем
};
так короче и то же самое

вообще лучше инициализировать переменные перед их использованием и знать существует она или нет...
 

Лексеич

Московский калмык
т.е. если переменная не существует то любое условие с ее использованием вернет false? логично блин

Извиняюсь, ребята. Исходную задачу не правильно изложил.

Задача (упрощенно):
если переменная А больше нуля и если есть переменная Б, то проверяем она больше 10? Если есть переменная С, то проверяем она меньше нуля? Т.е. проверяем условие для переменной только при существовании переменной. Если не существует, то эта часть условия игнорируется.

Почемуто у меня появилась мысль, что я не тем инструментом пользуюсь... (мысли вслух)
 

Лексеич

Московский калмык
Извиняюсь, ребята. Исходную задачу не правильно изложил.

Задача (упрощенно):
если переменная А больше нуля и если есть переменная Б, то проверяем она больше 10? Если есть переменная С, то проверяем она меньше нуля? Т.е. проверяем условие для переменной только при существовании переменной. Если не существует, то эта часть условия игнорируется.

Вот что получил:
PHP:
if ($b && !$c)
{
	if ($a>0 && $b>10)
	{
		// действие
	};
};
if (!$b && !$c)
{
	if ($a>0)
	{
		// действие
	};
};
if (!$b && $c)
{
	if ($a>0 && $c<0)
	{
		// действие
	};
};
"Действие" один и то же набор операторов во всех условиях...
Можно ли упростить условие, кроме как написав функцию, вызывать ее три раза в этой паутине ифов.
 

Лексеич

Московский калмык
Фанат
видимо ограничение ума. :) поэтому и прошу помочь. Я не могу понять как должно выглядеть это ОДНО условие.

вот.

PHP:
if (
($b && !$c && $a>0 && $b>10) or
(!$b && !$c && $a>0) or
(!$b && $c && $a>0 && $c<0)
)
{
// действие
};
все-таки полезно перерывы делать...
 
Сверху