|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>PHP. Шаг за шагом.</title>
<meta content="text/html; charset=Windows-1251" http-equiv=Content-Type>
</head>
<LINK REL=STYLESHEET HREF="php.css" TYPE="text/css">
<body text=black bgcolor=white link=blue vlink=blue alink=red>
<center>
<a name="top">
<TABLE borderColor=#000000 cellSpacing=1 cellPadding=1 width=600 border=0 align="center">
<tr><td>
<tr><td>
<h1>ШАГ 6. ПОУПРАВЛЯЕМ?</h1>
<p>Мне кажется не стоит попусту лить воду и описывать тут и так всем известные из других языков програмирования структуры управления. Вместо этого я приведу их полный список и все методы их использования.</p>
<div class=hh>IF</div>
<p>Структура:</p>
<div class=code><pre>if (выражение)
блок_выполнения</pre></div>
<p>Пример использования:</p>
<div class=code>
if ($a > $b)<br>
print "a больше, чем b";<br>
<br>
if ($a > $b) {<br>
print "a больше, чем b";<br>
$b = $a;<br>
}<br>
</div>
<div class=hh>ELSE</div>
<p>Пример использования:</p>
<div class=code>
if ($a > $b) {<br>
print "a больше, чем b";<br>
} else {<br>
print "a не больше, чем b";<br>
}
</div>
<div class=hh>elseif</div>
<p>Интересный оператор. Он применяется в случае, когда вам необходимо использовать <code>IF</code> сразу после <code>ELSE</code></p>
<p>Пример использования:</p>
<div class=code>
if ($a > $b) {<br>
print "a is bigger than b";<br>
} elseif ($a == $b) {<br>
print "a is equal to b";<br>
} else {<br>
print "a is smaller than b";<br>
}
</div>
<div class=hh>if(): ... endif;</div>
<p>Тоже довольно необычная структура. Смысл ее в том, что если условие, записанное в круглых скобах оператора <code>IF</code> оказалось истинной, то будет выполняться весь код, начиная от двоеточия <code>':'</code> то команда <code>ENDIF;</code></p>
<p>Пример использования:</p>
<div class=code>
<PRE> <?php if ($a==5): ?>
A = 5
<?php endif; ?></PRE>
</div>
<p>Или вот еще с использованием вышеописанного оператора <code>ELSEIF</code></p>
<div class=code><pre>
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; </pre></div>
<div class=hh>WHILE</div>
<p>Структура:</p>
<div class=code> while (выражение): блок_выполнения ... endwhile; </div>
<p>И примерчик:</p>
<div class=code><pre>
$i = 1;
while ($i <= 10) {
print $i++;
}</pre></div>
<div class=hh>do.. while</div>
<p>Вообщем-тоничего необычного - цикл, как цикл. Выполняется <code>блок выполнения</code> до тех пор, пока справедливо <code>выражение</code>. Структура:</p>
<div class=code>
do блок_выполнения while (выражение);
</div>
<div class=hh>FOR</div>
<p>Точно такой-же цикл как и в C++. Структура:</p>
<div class=code><pre>for (выражение1; выражение2; выражение3)
блок_выполнения</pre>
</div>
<p>Хотя - нет. Есть в PHP еще одно дополнение. Структура:</p>
<div class=code><pre>for (выражение1; выражение2; выражение3):
блок_выполнения; ...; endfor;</pre></div>
<p>Обратите внимание, на двоеточие перед блоком выполнения.</p>
<div class=hh>break</div>
<p>Старо как мир. Этот оператор позволяет выскакивать из любого цикла <code>(for, while, do.. while)</code> до окончания его выполнения. Пример:</p>
<div class=code><pre> $i = 0;
while ($i < 10) {
if ($arr[$i] == "stop") {
break;
}
$i++;
}</pre></div>
<div class=hh>continue</div>
<p>Тоже ничего нового. Этот оператор позволяет пропустить дальнейшее действия <code>блока_выполнения</code> любого цикла и продолжить выполнение с нового круга. Пример:</p>
<div class=code><pre>while (выражение) {
if (выражение2)
continue;
действие;
};</pre></div>
<p>Такая програма аналогична следующей, без использования <code>continue</code>:</p>
<div class=code><pre>while (выражение) {
if (!выражение2)
действие;
};</pre></div>
<div class=hh>switch</div>
<p>Часто очень необходимый оператор выбора. Хотя все его и так знают, попробую представить ясный пример. Допустим у вас есть следующий участок в программе:</p>
<div class=code><pre>
if ($i == 0) {
print "i равно 0";
} else
if ($i == 1) {
print "i равно 1";
} else
if ($i == 2) {
print "i равно 2";
} else
print " ниодно условие не прошло"
</pre></div>
<p>Сэкономить время выполнения данного участка, а так-же представить его более логичным способом и поможет нам этот оператор. Следующий пример совершает действия, аналогичные предыдущему, но в более красивой форме:</p>
<div class=code><pre>
switch ($i) {
case 0:
print "i равно 0";
break;
case 1:
print "i равно 1";
break;
case 2:
print "i равно 2";
break;
default:
print " ниодно условие не прошло"
}
</pre></div>
<p>в таком представлении есть и еще одно преимущество. Если вы не поставите оператор <code>break</code> например перед <code>case 1:</code>, то в случае, когда <code>$1</code> будет равен нулю после вывода на экран сообщения об этом программа пойдет дальше и выведет также сообщение о тов, что <code>$I</code> равна еще и <code>1</code> и только после, встретив <code>break;</code> продолжит свое выполнение за пределами <code>switch</code></p>
<div class=hh>require</div>
<p>Этот оператор действует примерно так-же как и <code>#include</code> в C++. Файл, указанный в кавычках включается в скрипт и выполняется, но только однажды. В файле, включаемом оператором <code>require</code> резонно хранить какие-то даные, необходимые для многих скриптов и соответсвенно влкючать его в эти "многие" скрипты. Структуа его такая:</p>
<div class=code>require 'header.inc';</div>
<div class=hh>include</div>
<p>Структура:</p>
<div class=code>include 'func.inc';</div>
<p>Этот оператор позволяет включать код, содержащийся в указанном файле (<code>func.inc</code> в нашем случае) и выполнять его столько раз, сколько программа встречает этот оператор. То есть. Например в файле <code>func.inc</code> у нас хранится программа вывода на экран определенных параметров. Ну и каждый раз, когда нам нужно будет выводить эти параметры мы будем вставлять в текст нашей основной программы <code>include 'func.inc'</code>, то есть это в принципе тоже самое, как если-бы мы везьде в таких случаях вставили-бы текст, содеражийся в файле <code>func.inc</code></p>
<p>Обратите внимание. Разница между <code>include</code> и <code>require</code> довольно существенная, поэтому поэкспереминтируйти с ними сами, если вы ее так и не усмотрели.</p>
<br>
<p>Ну вот и все. Надеюсь это пригодилось. В следующий раз мы зучив функции PHP, в смысле способы их использования и описания. Удачи!</p>
</td></tr>
<tr><td id="menu" class=menu>
<center><a href=#top class=menu>ВВЕРХ</a></center><br>
<center><a href=php5.html class=menu><<<предыдущий шаг</a>
<a href=php7.html class=menu>следующий шаг>>></a>
</center></td></tr>
</TABLE>
</div>
</body>
</html>