Урок 6. Дополнительно об условных выражениях

Конструкция if, как и любая другая условная конструкция, использует условные выражения, например $chislo>=0. Это выражение истинно, если переменная $chislo больше или равняется нулю. Спросите любого человека, далекого от программирования, что выйдет в результате вычисления выражения 5*5=25. Он, скорее всего, не даст верного ответа, в то время как любой программист скажет, что значением этого выражения будет TRUE.

Операнды можно сопоставлять не только на равенство, но и наоборот – на неравенство. Для этого используют оператор ! (not). Например:

<?php

$b=20;

if($b!=20){

echo ‘переменная $b  не равна 20’;

}

?>

Следующая запись используется для проверки существования той или иной переменной:

<?php

if(!$b){

echo 'Переменной $b не существует';

}

?>

Но, следует заметить, что для проверки существования переменных лучше использовать встроенную функцию php issset(). Синтаксис функции:

boolisset (mixed $b)

Данная функция определяет, существует ли переменная $b. Если такая переменная есть, то isset() выведет значение TRUE, если нет – FALSE. Ниже можно посмотреть пример использования функции isset().

<?php

if(isset($b)){

echo‘Такая переменная существует’;

}

else{

echo‘такой переменной не существует’;

}

?>

Функция empty() используется для того, чтобы узнать, пусто ли значение переменной. Иногда пееменная в php скрипте может быть установлена и функция isset() вернет TRUE, но значение переменной будет пустым. Функция  empty() используется для дополнительной проверки. Формат записи:

boolempty(mixed $b)

Пример:

<?php

$b=“”;

if(!empty($b)){

echo ‘Значение переменной $b не является пустым’;

}

?>

Внимание!!! В данном условном выражении мы использовали оператор !.

В PHP также можно объединять условные выражения в пределах одной конструкции. Условные выражения можно применять для проверки на максимум 2 соответствия (например, правый операнд меньше или равен левого). Но на практике довольно часто нужно проверить операнды на несколько соответствий. Например, узнать, входит ли число в диапазон чисел от 20 до 100.

Для таких целей использубтся операторы OR, AND и XOR. С их помощью условные выражения можно комбинировать. Давайте рассмотрим каждый из них подробно:

Оператор OR возвращает значение TRUE, если выражение слева или справа является истинным.

Оператор AND возвращает значение TRUE, если истинными одновременно будут оба выражения – слева и справа.

Оператор XOR  возвращает значение TRUE, если истинным является только одно выражение (слева или справа).

Пример с оператором OR:

<?php

$login= “alex”;

//Теперь проверим, совпадает ли $login с одним из заданных логинов

if($login==“alex” OR $login==“dmitriy”){

echo ‘Логин правильный’;

}

else{

echo ‘Вы ввели ошибочный логин’;

}

?>

В данном примере оператор OR используется для проверки строки (логина) на совпадение с одной из 2 строк. Выражение вернет TRUE, если будет хотя бы одно совпадение.

Пример с оператором AND:

<?php

$b=15;

//Проверяем, входит ли переменная $b в диапазон 10 < $b < 100

if ($b > 10 AND $b < 100) {

echo‘$b входит в диапазон’;

}

?>

В этом примере выражение вернет значение TRUE только в том случае, если переменная $b одновременно будет больше десяти и меньше 100.

Пример с оператором XOR:

Применение аналогично опереатору OR, отличается только результат сравнения. Оператор XOR обычно используют в сложных условных выражениях. Давайте рассмотрим пример:

<?php

$b=10;

//Условие для получения значения TRUE:

//$b должно быть больше 5 и меньше 50,

//или больше 0 и меньше 100

if (($b>5 AND $b<50) XOR ($b>0 AND $b<100)) {

echo “Условие выполняется”;

}

else{

echo “Условие не выполняется”;

}

?>

В этом примере с помощью оперетора XOR сравниваются 2 выражения:

левое ($b>5 AND $b<50) и правое ($b>0 AND $b<100). Если $b=10, то оба выражения вернут  TRUE, что конечно же не подойдет для для оператора XOR, а это значит, что вся комбинация вернет FALSE. Если изменить значение $b на 90, то левое выражение вернет FALSE, правое – TRUE, а все условное выражение так же TRUE.

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