Выпуск № 8. Управляющие структуры.
24.08.2008Извините, что так долго не выходил на связь, заканчивал проект, не было свободного времени.
Но теперь мы с новыми силами продолжим изучать PHP.
Для тех, кто уже подзабыл,
что мы изучали в предыдущих выпусках, зайдите в архив.
А в этом выпуске мы рассмотрим:
Несмотря на то, что все рассмотренные нами операции с переменными замечательны, они оставляю желать лучшего в терминах реального языка программирования. Поэтому нам нужны управляющие структуры.
Управляющие структуры - это средства, которые позволяют управлять поведением программ. Управляющие структуры позволяют указывать условия, при которых должен выполняться тот или иной участок кода.
А начнем изучение управляющих структур с условных операторов.
В общем виде условный оператор if выглядит так:
if (условие)
{
/* Код, выполняемый если условие истинно */
}
else
{
/* Код, выполняемый если условие ложно */
}
|
Где условие - это выражение, возвращающее булевское значение (ниже мы рассмотрим что это такое).
Однострочная версия оператора if выглядит так:
If (условие) /* Код, выполняемый если условие истинно */ |
Оператор if в PHP - наиболее фундаментальная управляющая структура, предназначенная для выполнения того, что называется блоком кода, в том и только в том случае, когда условное выражение возвращает булевское значение “истина”. В таблице ниже приведены примеры, когда булевское выражение равно либо true (”истина”), либо false (”ложь”).
| Пример операции | Действие |
| $a==$b | true, если $a равно $b |
| $a===$b | true, если $a равно $b и обе переменные относятся к одному типу |
| $a!=$b | true, если $a не равно $b |
| $a!==$b | true, если $a не равно $b и обе переменные не относятся к одному типу |
| $a < $b | true, если $a меньше $b |
| $a > $b | true, если $a больше $b |
| $a <= $b | true, если $a меньше или равно $b |
| $a => $b | true, если $a больше или равно $b |
<?php $answer = (5 > 7); /* $answer = false */ $answer = (6 <= 7); /* $answer = true */ ?> |
Условный оператор может быть вложенным, т.е. использоваться внутри другого оператора if. Например:
<?php
if ( $a > 0 )
{
if ( $a <= 10)
echo 'Значение $a находиться между 1 и 10';
else
{
if ( $a <= 20)
echo 'Значение $a находиться между 11 и 20';
else
echo "Значение $a находиться больше 20";
}
}
?>
|
Хотя это и работает, есть лучший способ. Когда требуется проверка множества значений, в PHP существуют логические операции для комбинации множества условий в одно булевское выражение.
Рассмотрим эти операции.
| Операция | Действие |
| $a and $b | true, если $a и $b истинны. |
| $a or $b | true, если $a или $b истинны. |
| $a xor $b | true, если $a или $b истинны (но не оба сразу). |
| !$a | true, если $a ложно. |
| $a && $b | true, если $a и $b истинны. |
| $a || $b | true, если $a или $b истинны. |
Несмотря на то что они выглядят идентично, операции and и or - не тоже самое, что && и ||. Операции and и or выполняются раньше, чем && и ||. Поэтому следует использовать скобки для разграничения приоритетов операций.
<?php $answer = ($a < $b) || ($c > $d); /* хорошо */ $answer = $a < $b || $c > $d; /* плохо */ ?> |
Теперь рассмотрим конструкцию switch. Это упрощенный способ выполнения задач, которые можно выполнить с помощью оператора if. Назначение switch - позволить разработчику присваивать блок кода каждому из множества разных возможных случаев, которые может принимать управляющая переменная.
<?php
switch ($var)
{
case 0:
echo 'Переменная равна 0';
break;
case 1:
echo 'Переменная равна 1';
break;
default:
echo 'Условие по-умолчанию';
}
?>
|
При использовании оператора switch представляется единственная переменная, значение которой сравнивается с теми, которые указаны в каждом индивидуальном предложении case.
Эта конструкция switch, аналогична выражению:
<?php
if ( $var == 0 )
{
echo 'Переменная равна 0';
}
else
{
if ( $var == 1)
echo 'Переменная равна 1';
else
echo 'Условие по-умолчанию';
}
?>
|
На этом сегодня все. До скорых встреч на страницах рассылки
Автор: Скибардин Андрей.
| ICQ: | 409-459-097 |
| E-mail: | skybard@mail.ru |
| Сайт: | http://www.phpdesign.naxx.ru - “Все для разработчика на PHP” |
