Оператор else расширяет if на случай, если проверяемое в if выражение является неверным, и позволяет выполнить какие-либо действия при таких условиях. Структурa оператора if, расширенного с помощью оператора else:
If (выражение) блок_выполнения else блок_выполнения1
Elseif - это комбинация else и if. Как и else, он расширяет if для выполнения различных действий в том случае, если условие, проверяемое в if, неверно. Но в отличие от else, альтернативные действия будут выполнены, только если elseif - условие является верным. Структуру оператора if, расширенного с помощью операторов else и elseif, можно представить следующим образом:
if (выражение) блок_выполнения;
elseif (выражение1) блок_выполнения1;
…
else блок_выполненияN;
Пример
<?
$names = array("Иван","Петр","Семен");
if ($names[0]=="Иван")
{
echo "Привет, Ваня!";
$num = 1;
}
if ($num) echo "Иван первый в списке!";
if ($num > 100) echo "Эта строчка не появится на экране, так как условие не выполнено";
?>
Оператор switch
В зависимости от того, какое значение имеет переменная, он переключается между различными блоками действия. Структуру switch можно записать следующим образом:
switch (выражение или переменная) {
case значение1:
блок_действий1;
break;
case значение2:
блок_действий2;
break;
…
default:
блок_действий_по_умолчанию;
}
Пример
<?
$names = array("Иван","Петр","Семен");
switch ($names[0]){
case "Иван":
echo "Привет, Ваня!";
break;
case "Петр":
echo "Привет, Петя!";
break;
case "Семен":
echo "Привет, Сеня!";
break;
default:
echo "Привет, $names[0]";
}
?>
}
Циклы
Цикл с предусловием while
Структура:
while (выражение) { блок_выполнения }
Пример. Эта программа напечатает все четные цифры:
<?
$i = 1;
while ($i < 10) {
if ($i % 2 == 0) print $i; // печатаем цифру, если она четная
$i++; // увеличиваем $i на единицу
}
?>
Цикл с постусловием do... while
Структура:
do {блок_выполнения} while (выражение);
Пример.
<? // эта программа напечатает число 12, несмотря
//на то что условие цикла не выполнено
$i = 12;
do {
if ($i % 2 == 0) print $i; // если число четное, то печатаем его
$i++; // увеличиваем число на единицу
} while ($i<10)
?>
Цикл со счетчиком for
Структура:
for (выражение1;выражение2;выражение3) {блок_выполнения}
Все четные цифры можно вывести с использованием цикла for таким образом:
<?php
for ($i=0; $i<10; $i++) {
if ($i % 2 == 0) print $i; // печатаем четные числа
}
?>
Цикл перебора массива foreach
Синтаксис:
foreach ($array as $value) {блок_выполнения}
либо
foreach ($array as $key => $value) {блок_выполнения}
В первом случае формируется цикл по всем элементам массива, заданного переменной $аггау. На каждом шаге цикла значение текущего элемента массива записывается в переменную $value, и внутренний счетчик массива передвигается на единицу (так что на следующем шаге будет виден следующий элемент массива). Внутри блока_выполнения значение текущего элемента массива может быть получено с помощью переменной $value. Выполнение блока_выполнения происходит столько раз, сколько элементов в массиве $ array.
Вторая форма записи в дополнение к перечисленному выше на каждом шаге цикла записывает ключ текущего элемента массива в переменную $кеу, которую тоже можно использовать в блоке_выполнения. Когда foreach начинает исполнение, внутренний указатель массива автоматически устанавливается на первый элемент.
Пример.
<?php
$names = array("Иван","Петр","Семен");
foreach ($names as $val) { // выведет всем приветствие
echo "Привет, $val <br>";
}
foreach ($names as $k => $val) {
// кроме приветствия, выведем номера в списке, т.е. ключи
echo "Привет, $val! Ты в списке под номером $k <br>";
}
?>
Операторы передачи управления
Оператор break заканчивает выполнение текущего цикла, будь то for, foreach, while, do...while или switch. Break может использоваться с числовым аргументом, который говорит, работу скольких управляющих структур, содержащих его, нужно завершить.
Оператор continue позволяет пропустить дальнейшие инструкции из блока_выполнения любого цикла и продолжить выполнение с нового круга. Continue можно использовать с числовым аргументом, который указывает, сколько содержащих его управляющих конструкций должны завершить работу.
Операторы включения
Оператор include позволяет включать код, содержащийся в указанном файле, и выполнять его столько раз, сколько программа встречает этот оператор. Включение может производиться любым из перечисленных способов:
include 'имя_файла'; или include $file_name; или include ("имя_файла");
Require также позволяет включать в программу и исполнять какой-либо файл. Основное отличие require и include заключается в том, как они реагируют на возникновение ошибки. Include выдает предупреждение, и работа скрипта продолжается. Ошибка в require вызывает фатальную ошибку работы скрипта и прекращает его выполнение.