| Изменение хода операторов
РHP-сценарий представляет собой набор инструкций в файле. Выполнение инструкций осуществляется в порядке их следования в файле, начиная с самого начала. Однако в большинстве случаев необходимо создавать более сложные сценарии. Например, нужно разработать сценарий, который будет отображать одну страницу для новых покупателей и совсем другую для уже существующих, или необходимо вывести на экран список телефонных номеров с помощью повторного использования одной и той же функции echo. В этом разделе вы узнаете, как изменять порядок выполнения простых операторов с помощью более сложных инструкций, таких как условные операторы и циклы.
Простые операторы РНР выполняются по очереди, один за другим, с начала и до конца. Рассмотрим следующий фрагмент кода:
$а = "Доброе утро"; echo $а; $а = "Добрый день"; echo $a;
Для того чтобы изменить порядок выполнения операторов, необходимо изменить порядок их следования в файле, например:
$а = "Добрый день"; echo $a; $а = "Доброе утро"; echo $a;
Предположим, что нужно вывести приветственное сообщение в зависимости от времени суток, т.е. до полудня необходимо отображать Доброе утро, а после полудня — Добрый день. Другими словами, нужно сделать следующее:
if (время до полудня) { $а = Доброе утро; echo $a; } or else if (время после полудня) { $a = Добрый день; echo $a; }
Таким образом, для вывода соответствующего приветственного сообщения следует воспользоваться сложным оператором, в котором проверяется время суток. Язык РНР предоставляет два возможных способа, которые позволяют выполнять такие сложные действия.
- Условные операторы. В некоторых случаях необходимо выполнять операторы или какие-либо действия только при выполнении определенных условий. Например, каталог с продукцией необходимо показывать только покупателям, которые оплатили свои счета, и не делать этого для тех, кто имеет задолжность. Такие операторы называются условными (conditional statement). В РHP существуют условные операторы if и switch.
- Циклы. Часто требуется выполнить некоторый блок кода несколько раз подряд. Например, нужно передать сообщения по электронной почте всем покупателям. Чтобы осуществить это, необходимо выполнить две операции: первая из них будет извлекать информацию об электронных адресах покупателей из базы данных, а вторая — отправлять соответствующие сообщения. Причем эти действия нужно осуществить для всех покупателей из базы данных. Операция, которая позволяет выполнять операторы несколько раз подряд, называется циклом (loop). В РНР циклы реализуются с помощью операторов for, while и do. . while.
Оба рассмотренных типа сложных операторов выполняют некий фрагмент кода в зависимости от условий, т.е. если условие верно, то оператор выполняется. Причем в условных операторах код выполняется один раз. Например, если текущее время является послеобеденным, то будет выведена строка Добрый день. В циклах блок кода выполняется несколько раз до тех пор, пока условие не станет ложным. Например, если какой-то покупатель еще не получил электронное сообщение, то его необходимо отправить. И этот цикл повторяется до тех пор, пока сообщения не будут отправлены всем покупателям.
| |