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

Лексеич

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

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

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

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

правильно ли условие записано?
 
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)
)
{
// действие
};

все-таки полезно перерывы делать...
 
Сверху