Hlavnß strßnka · DiskusnΘ F≤rum · PracovnΘ prφle₧itosti · Zoznam

 Main Menu
o Hlavnß strßnka
o Zoznam tΘm
o Zoznam
o OdporuΦte nßs
o U₧φvatelia
o VaÜe konto
o Pridaj Φlßnok
o ètatistiky
o Top 10

 Reklama


 Developer Zone's
o Internet
o Tools
o Linux
o CGI Zone
o ASP Zone
o ASP.net
o PHP Zone
o CSS Zone
o JavaScript
o MySQL
o WAP / WML
o WML / WMLScript
o XML / XHTML
o Tipy a triky
o Best of web
o WebServers
o WebDesign
o Grafika

 Servis
o Vyh╛adßvanie
o F≤rum
o Workoffice
o Zoznam Φlßnkov
o Reklama
o Pridaj Φlßnok
o Pridaj novinku

NapφÜte nßm
Homepage Do favoritov

 LinkExpres
Interval.cz · Pc.sk
Builder.cz · Mobilmania
PCSvet.cz · Asp.cz
Webdnes · Äiv∞.sk
Zoznam.sk · Atlas.sk
Inzine.sk · PHP.sk
Agent.sk · Lupa.cz
Code.box.sk · Root.cz
Pixel32 · Grafika.cz

 forum.developer.sk
o F≤rum ::
o Markup languages
o ScriptovΘ jazyky
o CGI
o PHP/MySQL
o Perl
o Grafika
o Webservery
o HTML Editory
o Browsery
o Bookmarx
o ASP
o Vytvor tΘmu ::

 PracovnΘ prφle₧itosti
o Pon·kate prßcu?
o H╛adßte prßcu?

 Autori developer.sk
o Martin NemeΦek
o SvΣ¥o Straka
o Jany Masaryk
o Jozef Murφn

 
PHP [ 07. August 2000] - Andrej_Chu
Cykly v PHP (PHP - Φas¥ 5)
Vetvenie programu pomocou cyklov si ukß₧eme v dneÜnej piatej Φasti nßÜho serißlu o scriptovacom jazyku PHP. Ukß₧eme si ako funguj· prφkazy ako WHILE, DO...WHILE, FOR, SWITCH a CONTINUE.



Cykly a ako na ne.

WHILE

Ide o najjednoduchÜφ typ cyklu. Mß podobn· syntax ako v C:

 while (v²raz) prφkaz;

Prφkaz je vykonßvan² dovtedy, k²m je hodnota v²razu TRUE. Naz²va sa aj cyklus s podmienkou na zaΦiatku. V₧dy na zaΦiatku cyklu sa otestuje v²raz a v prφpade, ₧e hodnota je TRUE, vykonß sa prφkaz a opΣ¥ od zaΦiatku. V prφpade, ₧e potrebujeme vykona¥ viacero prφkazov (takmer v₧dy), musφme pou₧i¥ blok, teda prφkazy uzavrie¥ do zlo₧en²ch zßtvoriek:

 while (v²raz) {
  prφkaz1;
  prφkaz2;
  atd...
 }

Cyklus while samozrejme tie₧ umo₧≥uje alternatφvnu syntax. Tß je podobnß, ako bola pre IF, tu nßm posl·₧i konÜtrukcia while(v²raz): a endwhile, priΦom syntax je nasledovnß:

 while (v²raz):
   prφkaz1;
   prφkaz2;
   atd...
 endwhile;

DO..WHILE

Cyklus do..while je ve╛mi podobn² cyklu while. Rozdiel tkvie v tom, ₧e zatia╛ Φo v predchßdzaj·com prφpade bola podmienka testovanß na zaΦiatku, tu je to zase na konci. Z toho vypl²va, ₧e cyklus do..while musφ prebehn·¥ minimßlne raz, zatia╛ Φo pre cyklus while toto neplatφ. Syntax cyklu do..while je nasledovnß:

 do {
  prφkaz1;
  prφkaz2;
  atd...
   } while (podmienka);

M⌠₧e sa sta¥, ₧e budete potrebova¥ cyklus, ktor² bude nekoneΦn² a bude sa da¥ ukonΦi¥ iba zvn·tra cyklu. Na to nßm posl·₧i prφkaz break:

 do {
  if (podmienka) break;
 } while (0);

Posledn² riadok nßm zabezpeΦφ, ₧e cyklus sa nikdy neukonΦφ (0 je v₧dy vyhodnocovanß ako FALSE) a dß sa ukonΦi¥ iba v prφpade, ₧e je splnenß podmienka prφkazom break.

FOR

Cyklus for je jedn²m za najkomplexnejÜφch v PHP. Jeho syntax je opΣ¥ podobnß CΘΦku:

 for (v²raz1; v²raz2; v²raz3) prφkaz1;

v²raz1 je vyhodnoten² (vykonan²) iba raz, na zaΦiatku cyklu. v²raz2 sl·₧i ako kontrolnß podmienka pre cyklus, pretoÄe je vyhodnocovanß na zaΦiatku ka₧dej iterßcie. V prφpade, ₧e je vyhodnotenß ako TRUE, je iterßcie vykonanß, ak FALSE, cel² cyklus konΦφ. v²raz3 sl·₧i hlavne na modifikßciu riadiacej premennej a je vykonan² po skonΦenφ ka₧dej iterßcie. Ka₧d² z t²chto v²razov je nepovinn², tak₧e konÜtrukcia cyklu for m⌠₧e vyzera¥ aj takto:

 for (;;)
 {
  prφkaz1;
  prφkaz2;
  atd...
 }
 

Samozrejme tu nesmiete zabudn·¥ na modifikßciu a kontrolu riadiacej premennej vo vn·tri a pred zaΦiatkom cyklu, inak sa ╛ahko m⌠₧e sta¥, ₧e sa zacyklφ. Aj cyklus for mß svoju alternatφvnu syntax:

 for (v²raz1; v²raz2; v²raz3):
  prφkaz1;
  prφkaz2;
  atd...
 endfor;

CONTINUE

Ide o Üpecißlny prφkaz, ktor² sl·₧i na skok na ∩alÜiu iterßciu. Jednoducho povedanΘ, ukonΦφ momentßlnu iterßciu skokom na koniec bloku cyklu a t²m sa zabezpeΦφ prechod na ∩alÜiu iterßciu. Tento prφkaz m⌠₧ete pou₧i¥ na vÜetky typy cyklov, teda

 while, do..while aj for.
 for (v²raz1; v²raz2; v²raz3) {
  if (podmienka) continue;
  prφkaz1;  // tu sa pokraΦuje iba vtedy, ak podmienka nebola splnenß
  prφkaz2;
  atd...
 }

SWITCH

Poslednou kontrolnou Ütrukt·rou, o ktorej si povieme, je switch. CΘΦkari si opΣ¥ prφdu na svoje, preto₧e syntax je zasa podobnß C. Switch sl·₧i na nahradenie po sebe id·cich podienok IF s rovnakou premennou v podmienke:

 switch ($premenna) {
    case 0: 
        print "premenna sa rovna 0";
        break;
    case 1:
        print "premenna sa rovna 1";
        break;
    case 2:
        print "premenna sa rovna 2";
        break;
 }

Ako vidφte, program skoΦφ v₧dy na t· vetvu, ktorß vyhovuje premennej uvedenej v zßtvorke a hodnote uvedenej pri case. Musφte si dßva¥ pozor a pou₧φva¥ prφkaz break, preto₧e k≤d je vykonßvan² v₧dy od nßjdenej vetvy a₧ po koniec bloku switch alebo k²m nenarazφ na prφkaz break. Preto sa tento prφkaz pou₧φva v ka₧dej vetve. Ak by tak nebolo a $premenna sa rovnala 0, boli by vykonanΘ vÜetky prφkazy v bloku switch.

Tak potrebn· (aj ke∩ z∩aleka nie vÜetku) Φas¥ te≤rie mßme za sebou a nabud·ce sa budeme venova¥ u₧ nejak²m praktick²m zßle₧itostiam.

 
 PrφsluÜnΘ odkazy k tΘme
Viac o tΘme: PHP | InΘ Φlßnky od: Admin | PoÜli komentßr | Strßnka vhodnß na tlaΦ width=15 height=11  PoÜli tento Φlßnok priate╛ovi, znßmemu width=15 height=11


NajΦφtanejÜie Φlßnky PHP:
Nakonfigurujte si Windows na prßcu s PHP

╧alÜie Φlßnky v rubrike PHP:

 

"Cykly v PHP (PHP - Φas¥ 5)" | Login / vytvor konto | 0 Komentßrov
Prah
Za obsah komentßrov je zodpovedn² u₧φvate╛, nie prevßdzkovate╛ t²chto strßnok.



AutorskΘ prßva: á ⌐1999 - 2001 Developer Zone [developer@developer.sk]

VÜetky Φlßnky s· vlastnφctvom autorov Developer Zone. VÜetky prßva vyhradenΘ. Strßnky Developer.sk s· vytvorenΘ pomocou PHP-Nuke.
Odkazy na novΘ Φlßnky je mo₧nΘ prebera¥ pomocou:Backend.php.