PHP ШАГ 6. ПОУПРАВЛЯЕМ?
 

Мне кажется не стоит попусту лить воду и описывать тут и так всем известные из других языков програмирования структуры управления. Вместо этого я приведу их полный список и все методы их использования.

IF

Структура:

if (выражение) 	блок_выполнения

Пример использования:

if ($a > $b)
   print "a больше, чем b";

if ($a > $b) {
   print "a больше, чем b";
   $b = $a;
}

ELSE

Пример использования:

if ($a > $b) {
   print "a больше, чем b";
} else {
   print "a не больше, чем b";
}
elseif

Интересный оператор. Он применяется в случае, когда вам необходимо использовать IF сразу после ELSE

Пример использования:

if ($a > $b) {
   print "a is bigger than b";
 } elseif ($a == $b) {
   print "a is equal to b";
 } else {
   print "a is smaller than b";
}
if(): ... endif;

Тоже довольно необычная структура. Смысл ее в том, что если условие, записанное в круглых скобах оператора IF оказалось истинной, то будет выполняться весь код, начиная от двоеточия ':' то команда ENDIF;

Пример использования:

 <?php if ($a==5): ?> A = 5 <?php endif; ?>

Или вот еще с использованием вышеописанного оператора ELSEIF

 if ($a == 5): print "a equals 5"; print "..."; elseif ($a == 6): print "a equals 6"; print "!!!"; else: print "a is neither 5 nor 6"; endif; 
WHILE

Структура:

while (выражение): блок_выполнения ... endwhile;

И примерчик:

 $i = 1; while ($i <= 10) { print $i++; }
do.. while

Вообщем-тоничего необычного - цикл, как цикл. Выполняется блок выполнения до тех пор, пока справедливо выражение. Структура:

do блок_выполнения while (выражение);
FOR

Точно такой-же цикл как и в C++. Структура:

for (выражение1; выражение2; выражение3) блок_выполнения

Хотя - нет. Есть в PHP еще одно дополнение. Структура:

for (выражение1; выражение2; выражение3): блок_выполнения; ...; endfor;

Обратите внимание, на двоеточие перед блоком выполнения.

break

Старо как мир. Этот оператор позволяет выскакивать из любого цикла (for, while, do.. while) до окончания его выполнения. Пример:

 $i = 0; while ($i < 10) { if ($arr[$i] == "stop") { break; } $i++; }
continue

Тоже ничего нового. Этот оператор позволяет пропустить дальнейшее действия блока_выполнения любого цикла и продолжить выполнение с нового круга. Пример:

while (выражение) { if (выражение2) continue; действие; };

Такая програма аналогична следующей, без использования continue:

while (выражение) { if (!выражение2) 	 действие; };
switch

Часто очень необходимый оператор выбора. Хотя все его и так знают, попробую представить ясный пример. Допустим у вас есть следующий участок в программе:

 if ($i == 0) { print "i равно 0"; } else if ($i == 1) { print "i равно 1"; } else if ($i == 2) { print "i равно 2"; } else print " ниодно условие не прошло" 

Сэкономить время выполнения данного участка, а так-же представить его более логичным способом и поможет нам этот оператор. Следующий пример совершает действия, аналогичные предыдущему, но в более красивой форме:

 switch ($i) { case 0: print "i равно 0"; break; case 1: print "i равно 1"; break; case 2: print "i равно 2"; break; default: print " ниодно условие не прошло" } 

в таком представлении есть и еще одно преимущество. Если вы не поставите оператор break например перед case 1:, то в случае, когда $1 будет равен нулю после вывода на экран сообщения об этом программа пойдет дальше и выведет также сообщение о тов, что $I равна еще и 1 и только после, встретив break; продолжит свое выполнение за пределами switch

require

Этот оператор действует примерно так-же как и #include в C++. Файл, указанный в кавычках включается в скрипт и выполняется, но только однажды. В файле, включаемом оператором require резонно хранить какие-то даные, необходимые для многих скриптов и соответсвенно влкючать его в эти "многие" скрипты. Структуа его такая:

require 'header.inc';
include

Структура:

include 'func.inc';

Этот оператор позволяет включать код, содержащийся в указанном файле (func.inc в нашем случае) и выполнять его столько раз, сколько программа встречает этот оператор. То есть. Например в файле func.inc у нас хранится программа вывода на экран определенных параметров. Ну и каждый раз, когда нам нужно будет выводить эти параметры мы будем вставлять в текст нашей основной программы include 'func.inc', то есть это в принципе тоже самое, как если-бы мы везьде в таких случаях вставили-бы текст, содеражийся в файле func.inc

Обратите внимание. Разница между include и require довольно существенная, поэтому поэкспереминтируйти с ними сами, если вы ее так и не усмотрели.

 
Автор: dapi
 
Оригинал статьи: http://www.woweb.ru/publ/59-1-0-20