Обработка уловий - конструкция if(..and..or..)..else
Среда, 11 августа 2010 г.Рубрика: PHP программирование -> Условные операторы
Метки: boolean | условия
Просмотров: 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 вроде бы и так хороша...
На этом всё, тренеруйтесь.


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