if
Позволяет организовывать выполнение фрагментов кода по условию.
Синтаксис :
if (выражение) statement
Может иметь неограниченную степень вложенности в другие IF.
>if($a > $b) print "$a больше $b";
>
>if($a > $b) {
> echo "$a больше $b;
> $b=$a;
>}
?>
else
Расширяет возможности IF по части обработки вариантов выражения, когда оно равно FALSE.
Выражение ELSE выполняется только если IF равно FALSE.
>if($a>$b) {
> echo "a больше b";
>} else {
> echo "a меньше b";
>}
elseif
Является комбинацией IF и ELSE. Позволяет выполнить выражение, если значение IF равно FALSE, но в отличии от ELSE оно выполниться, если выражение ELSEIF равно TRUE.
>if ($a > $b) {
> echo "a больше b";
>} elseif ($a == $b) {
> echo "a равно b";
>} else {
> echo "a меньше b";
>}
if ... endif
Один из возможных вариантов группирования операторов с оператором IF.
Удобно при внедрении больших блоков HTML-кода внутрь оператора IF.
>if ($a == 1):
> echo "a равно 1";
>elseif ($a == 2):
> echo "a равно 2";
>else:
> echo "а не равно 1 и 2";
>endif;
A=5
Блок HTML-кода A=5 будет виден, если выполнется условие $a==5
while
Простейший тип цикла в PHP. Заставляет PHP выполнять вложенные операторы до тех пор, пока условие равно TRUE. Если условие равно FALSE с самого начала, то цикл не выполнится не разу.
Синтаксис:
WHILE(условие)выражения
Можно сгруппировать несколько операторов внутри фигурных скобок или использовать альтернативный синтаксис :WHILE(условие)выражения... ENDWHILE;
>
>$a=1;
>while ($a <= 5) {
> echo $a++;
>}
>?>
>
>$a = 1;
>while($a <= 5):
> echo $a;
> $a++;
>endwhile;
?>
- Эти два примера выводят номера с 1 до 5.
do_while
Цикл, аналогичный WHILE, но значение логического выражения проверяется не до, а после окончания итерации. Основное отличие - то что цикл хоть один раз но выполнится.
>
>$a = 1;
>do {
> echo $a;
>} while ($a > 1);
?>
Можно прекратить использовать блок операторов в середине путем внедрения оператора BREAK в цикл DO..WHILE(0) :
>
>do {
> if ($a == 5) {
> echo "A равно 5"
> break;
> }
> $a *= $b;
> if ($a < $minimum) {
> break;
> }
> echo "A равен $a";
>} while(0);
?>
for
Наиболее мощный цикл в PHP.
Синтаксис:
FOR (условие1; условие2; условие3)выражения
(условие2 - Проверяется в начале каждой итерации. Если оно равно TRUE, то цикл продолжается и выполняются вложенные операторы. Если оно равно FALSE, то цикл заканчивается.(условие3 - Выполняется (вычисляется) в конце каждой итерации.
Каждое из этих условий может быть пустым.
Пример1:
>for ($a = 1; $a <= 5; $a++) {
> echo $a;
>}
Пример 2:
>for ($a = 1;;$a++) {
> if ($a > 5) {
> break;
> }
> echo $a;
>}
Пример 3:
>$a = 1;
>for (;;) {
> if ($a > 5) {
> break;
> }
> print $a;
> $a++;
>}
Пример 4:
>for ($a = 1; $a <= 5; print $a, $a++);
PHP поддерживает альтернативный синтаксис FOR:
FOR(усл1; уcл2; усл3;):операторы;...;ENDFOR;
break
Прерывает выполнение текущего цикла.
Пример:
>$a = 0;
>while ($a < 5) {
> if ($arr[$a] == "stop") {
> break;
> }
> $a++;
>}
continue
Переходит на начало ближайшего цикла.
>
>while (list($key,$value) = each($arr)) {
> if ($key % 2) {
> continue;
> }
> do_something_odd ($value);
>}
?>
switch
Сравнивает переменную или выражение с различными значениями и выполняет различные фрагменты кода в зависимости от того, чему будет равно значение выражения.
>
>switch ($a) {
> case 0:
> echo "A равно 0";
> break;
> case 1:
> echo "A равно 1";
> break;
> case 2:
> echo "A равно 2";
> break;
> default:
> echo "A не равно 0, 1, 2";
>}
?>
require
Заменяет себя содержимым указанного файла.
Пример:
>require("include.inc");
Но его нельзя поместить внутрь цикла и ожидать, что он включит содержимое другого файла несколько раз в процессе каждой итерации. Для этого есть INCLUDE.
include
Вставляет и выполняет содержимое указанного файла.
>
>$files = array ("first.inc", "second.inc", "third.inc");
>for ($a = 0; $a < count($files); $a++) {
> include($files[$a]);
>}
?>
Так как INCLUDE() это специальный оператор, требуется заключать его в фигурные скобки при использовании внутри условного оператора.
>
>if ($a < 5) {
> include("file_1.inc");
>} else {
> include("file_2.inc");
>}
?>
function
Объявление функции.
Внутри функции может быть любой верный код PHP, даже объявление другой функции или класса. Функции должны быть объявлены перед тем, как на них ссылаться.
>
>function foo ($arg_1, $arg_2, ..., $arg_n) {
> echo "Пример функции.";
> return $retvalue;
>}
?>
Возвращение результатов:
>
>function my_sqrt ($num) {
> return $num * $num;
>}
>echo my_sqrt(4); //выведет 16
?>
Множественные результаты не могут быть возвращены в качестве результата, но вы можете реализовать это путем возврата списка: