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.