Обработка уловий - конструкция if(..and..or..)..else

Среда, 11 августа 2010 г.
Рубрика: PHP программирование -> Условные операторы
Метки: |
Просмотров: 1439
Подписаться на комментарии по RSS

В php есть тип boolean, в которм содержатся true ( истина ) и false ( ложь ), этот тип используется в условиях, рассмотрим на примере:

$a = 2;
$b = ( a == 2 );
echo $b

В этом примере мы присвоили переменной $a значение 2, после в переменную

$b занесли результат проверки переменной $a == 2, и вывели переменную

$b, у нас вывелась еденица ( или true ), что означает истину равенства

$a двум.

Давайте рассмотрим конструкцию условия:

if ( условие ) {
какие-то действия;
}

Конструкция условия - if - если ( дальше идёт условие ( например - $a

== 2 ) ) то { например выводим echo "$a = 2"; }

Давайте рассмотрим на примере, где идёт проверка $a == 2;

$a = 2;
if ( $a == 2 ) {
echo "Верно!";
}

Сдесь мы проверели если а = 2, то выводим Верно

Рассмотрим такой же пример, только с переменными

$a = 2;
$b = 2;
if ( $b == $a ) {
echo "Переменные равны!";
}

Представим что у нас переменные не равны, то выводитсся ничего не будет,

а нам нужно знать равны ли они или нет, тогда в условие включаем ешё

один пункт - else { если не верно, то выводим что нибудь ешё }

else пишется после условия if, вот его конструкци:

$a = 2;
$b = 3;
if ( $a == $b ) {
echo "Переменные равны!";
}
else {
echo "Переменные не равны!";
}

Сдесь будет проверятся условие на истину - если $a = $b, то выводим что

они равны, но при проверке на истину нам выдаст ложь, и выполняемы

действия пойдут ниже к else { будут выполнятся эти действия }, а именно

выведет, что переменные не равны.

Теперь давайте рассмотрим вложенные условия:

$a = 2;
$b = 3;
$c = 2;
if ( $a == $c ) {
if ( $a == $b ) {
echo "$a = $b";
}
else {
echo "$a не равна $b";
}
}
else {
echo "$a не равна $c";
}

Из этого примера мы можем видеть как выполняются два условия -

сравниваем равенство $a и переменной $c, если равны, то выполняем

внутреннее условие - если $a = $b, то выводим, что они равны, если нет,

то выводим, что они не равны, если $a не равна $c, то пропускаем

внутреннее условие и выводим, что $a не равна $c.

Таких условий может быть множество, давайте рассмотрим последний пример,

и Вы попробуете разобратся что к чему:

$a = 2;
$b = 3;
$c = 2;
$d = 3;
if ( $a == $c ) {
if ( $a == $b ) {
echo "Переменные а и b равны";
}
else {
echo "Переменные а и b не равны";
}
}
else {
if ( $b == $d ) {
echo "Переменные b и d равны";
}
else {
echo "Переменные b и d не равны";
}
}

В этм условии два под условия, таких может быть до бесконечности, так

что практикуйтесь...

Теперь давайте разберём and и or в условиях

Допустим что Вы хотите проверить два условия или более одновременно,

тогда Вы обязаны использовать and и or

Рассмотрим на примере:

Сократим код предыдущего скрипта с использованием and и or:

$a = 2;
$b = 3;
$c = 2;
$d = 3;
if ( ( $a == $c ) and ( $a == $b ) ) {
echo "Переменная $a = переменным $b и $c 
";
}
else {
echo "Переменная $a не равна ни одной переменной!";
}

Как видите из этого примера - мы проверяем на истину сразу два условия -

а именно - равна ли $a переменной $c и раван ли она переменной $b, если

равна, то пишем что равна, если нет, то пишем что не равна.

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

для пример включим ешё одно условие:

$a = 2;
$b = 3;
$c = 2;
$d = 3;
if ( ( $a == $c ) and ( $a == $b ) or ( $b == $d ) ) {
echo "Какие-то переменные равны";
}
else {
echo "Какие-то переменные не равны";
}

Как Вы уже видите из этого примера - я включил в 3 условие к нашей

конструкции.

Слова and и or можно заменить символами:

and = &&
or = ||

Давайте изменим в предыдущем скрипте and и or на && и ||

$a = 2;
$b = 3;
$c = 2;
$d = 3;
if ( ( $a == $c ) && ( $a == $b ) || ( $b == $d ) ) {
echo "Какие-то переменные равны";
}
else {
echo "Какие-то переменные не равны";
}

Проше всего вместо and писать &&, а or вроде бы и так хороша...

На этом всё, тренеруйтесь.

Поделиться...
twitter.com facebook.com vkontakte.ru mail.ru google.com bobrdobr.ru
Комментариев: 2
  1. а можем ли мы с помощью boolean проверять условия, в которых содержатся двумерные переменные?

  2. а можем ли мы с помощью boolean проверять условия, в которых содержатся двумерные переменные?

    Конечно можем, если Вам что-то не понятно, то приведите пример.

Оставьте свой комментарий!

Используйте нормальные имена. Ваш комментарий будет опубликован после проверки.

Если вы уже зарегистрированы как комментатор, укажите пароль и свой действующий email.

(обязательно)