PHP ØÀà 6. ÏÎÓÏÐÀÂËßÅÌ?

Îòåëü 4 çâåçäû - âûñîêîå êà÷åñòâî îáñëóæèâàíèÿ è ñòèëüíûå èíòåðüåðû

PHP ØÀà 6. ÏÎÓÏÐÀÂËßÅÌ? 2002-07-04
Àâòîð: dapi Ñòðàíèöû: [1]

Ìíå êàæåòñÿ íå ñòîèò ïîïóñòó ëèòü âîäó è îïèñûâàòü òóò è òàê âñåì èçâåñòíûå èç äðóãèõ ÿçûêîâ ïðîãðàìèðîâàíèÿ ñòðóêòóðû óïðàâëåíèÿ. Âìåñòî ýòîãî ÿ ïðèâåäó èõ ïîëíûé ñïèñîê è âñå ìåòîäû èõ èñïîëüçîâàíèÿ.

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




Ïðè ïåðåïå÷àòêå èíôîðìàöèè äåëàéòå, ïîæàëóéñòà, ññûëêó íà íàø ñàéò (ëèáî ïîäåëèòüñÿ âêîíòàêòå, ãóãë+ èëè äåëèòåñü â îäíîêëàññíèêàõ ñòàòü¸é). Ñïàñèáî!

Èñòî÷íèê: www.wr-script.ru©, 2004-2026ã.

Äåëèòåñü ñ äðóçüÿìè â ñîöñåòÿõ. Àêòèâíûå êîììåíòàòîðû ïîëó÷àþò ñâåæèå ñêðèïòû è áåñïëàòíûå äîðàáîòêè îò WR-Script.ru!

Âåðíóòüñÿ ê ñòàòüÿì ïîìîùè WEB-ìàñòåðó

WR-Счётчик