Не равно. Все операции сравнения. Функция empty. Функция isset. Несколько условий сразу: or и and. Работа с логическими переменными
Не равно Для того, чтобы спросить 'не равно', существует операторы! = и! ==. Первый игнорирует различие в типах, а второй - нет. <? php $a = 0;
/* Если переменная $a НЕ равна нулю, то выведи 'верно', иначе (если не равна нулю) выведи 'неверно' */ if ($a! = 0) echo 'Верно! '; else echo 'Неверно! '; //выведет 'Верно! ', так как $a равно 0 ? > <? php $a = 1;
/* Если переменная $a НЕ равна нулю, то выведи 'верно', иначе (если не равна нулю) выведи 'неверно' */ if ($a! = 0) echo 'Верно! '; else echo 'Неверно! '; //выведет 'Неверно! ', так как $a равно 0 ? > <? php $a = '0';
/* Если переменная $a НЕ равна нулю, то выведи 'верно', иначе (если не равна нулю) выведи 'неверно' */ if ($a! = 0) echo 'Верно! '; else echo 'Неверно! ';
/* Выведет 'Неверно! ', так как $a равно '0', а различие в типах игнорируется. */ ? > <? php $a = '0';
/* Если переменная $a НЕ равна нулю, то выведи 'верно', иначе (если не равна нулю) выведи 'неверно' */ if ($a! == 0) echo 'Верно! '; else echo 'Неверно! ';
/* Выведет 'Верно! ', так как $a равно '0', а это не равно 0 при сравнении по типу. */ ? > Все операции сравнения Возможные операции сравнения, которые можно использовать внутри if:
Функция empty
Зачастую в веб-программировании возникает следующая проблема: необходимо проверить переменную на пустоту. Переменная будет пустая, если она равна нулю, '' (пустой строке), false или null (то есть не определена ранее). Проверка на пустоту выполняется с помощью функции empty(): <? php $a = null; //Если $a пустое, то... if (empty($a)) echo 'Верно! '; else echo 'Неверно! '; //выведет 'Верно! ' ? > <? php $a = 0; //Если $a пустое, то... if (empty($a)) echo 'Верно! '; else echo 'Неверно! '; //выведет 'Верно! ' ? > <? php $a = ''; //Если $a пустое, то... if (empty($a)) echo 'Верно! '; else echo 'Неверно! '; //выведет 'Верно! ' ? > <? php $a = 'hi'; //Если $a пустое, то... if (empty($a)) echo 'Верно! '; else echo 'Неверно! '; //выведет 'Неверно! ', так как $a не пустая ? > Чаще возникает обратная задача - проверка на то, что переменная является НЕ пустой. Отрицание НЕ можно сделать с помощью оператора '! ': <? php $a = null; //Если $a Непустое, то... if (! empty($a)) echo 'Верно! '; else echo 'Неверно! '; //выведет 'Неверно! ', так как $a пустое ? > Функция isset Аналогом empty является функция isset. Она проверяет существует ли переменная (то есть то, что она не равна null ). Смотрите примеры: <? php $a = 'hello';
//Если $a существует, то... if (isset($a)) echo 'Верно! '; else echo 'Неверно! ';
/* Выведет 'Верно! ', так как $a существует. */ ? > <? php $a = 0;
//Если $a существует, то... if (isset($a)) echo 'Верно! '; else echo 'Неверно! ';
/* Выведет 'Верно! ', так как $a существует. */ ? > <? php /* Пусть переменную $a вообще не определяли выше в коде (это все равно, что присвоить ей null).
Если $a существует, то... */ if (isset($a)) echo 'Верно! '; else echo 'Неверно! '; //выведет 'Неверно! ' ? > Аналогично проверятся на НЕ существование (через! isset ): <? php $a = 3;
//Если $a НЕ существует то... if (! isset($a)) echo 'Верно! '; else echo 'Неверно! ';
/* Выведет 'Неверно! ', так как $a существует. */ ? > Несколько условий сразу: or и and Иногда может быть нужно составить какое-то сложное условие, например, пользователь вводит месяц своего рождения и вам нужно проверить, что введенное число больше или равно 1 и меньше либо равно 12 (так как в году 12 месяцев). Для этого существуют операторы and (логическое И) и or (логическое ИЛИ). <? php $a = 3; $b = - 3; //Если $a больше нуля и $b одновременно меньше нуля то... if ($a > 0 and $b < 0) echo 'Верно! '; else echo 'Неверно! '; //выведет 'Верно! '
$a = 3; //Если $a больше или равно 1 и меньше или равно 12 то... if ($a > = 1 and $a < = 12) echo 'Верно! '; else echo 'Неверно! '; //выведет 'Верно! '
$a = - 3; $b = - 3; /* Если $a больше нуля ИЛИ $b меньше нуля - хотя бы один из них, то... выведет 'Верно! ', так как хотя $a и не больше нуля, но одно из условий - $b < 0 - выполнится! */ if ($a > 0 or $b < 0) echo 'Верно! '; else echo 'Неверно! '; ? > Вместо and можно писать & &, а вместо or - ||. Работа с логическими переменными Многие функции PHP в результате своей работы возвращают либо true (истина), либо false (ложь). Эти значения довольно удобны при своей работе, но новичкам бывает довольно сложно понять их. Представим себе, что переменная $a равна true. В таком случае конструкцию if можно записать так: <? php $a = true;
//Если $a равно true, то... if ($a == true) echo 'Верно! '; else echo 'Неверно! ';
/* Выведет 'Верно! ', так как $a равно true. */ ? > Так как такие сравнения довольно распространены в PHP, то существует специальный прием, облегчающий работу (но не понимание, к сожалению). Прием такой: конструкцию $a == true можно заменить на более простую: вместо if ($a == true) написать if ($a) и она будет работать аналогично. Следует пользоваться второй конструкцией, так как она проще. <? php /* Заменим $a == true на более простую: вместо if ($a == true) напишем if ($a): */
$a = true; //Если $a равно true, то... if ($a) echo 'Верно! '; else echo 'Неверно! '; //выведет 'Верно! ', так как $a равно true
$a = true; //Если $a НЕ true (то есть false! ), то... if (! $a) echo 'Верно! '; else echo 'Неверно! '; //выведет 'Неверно! ', так как $a равно true ? > Также обратите внимание на следующие примеры: <? php //Данное выражение всегда будет выводить 'Верно' if (true) echo 'Верно! '; else echo 'Неверно! ';
//Данное выражение всегда будет выводить 'Неверно' if (false) echo 'Верно! '; else echo 'Неверно! ';
//Данное выражение всегда будет выводить 'Неверно' if (! true) echo 'Верно! '; else echo 'Неверно! ';
//Данное выражение всегда будет выводить 'Верно' if (! false) echo 'Верно! '; else echo 'Неверно! '; ? >
Воспользуйтесь поиском по сайту: ©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|