Links ::  | DEV web management system | Katalóg | Webhosting | Recepty
  
 Index | Registrácia | Hľadať | Galéria | BoardNeprihlásený užívateľ  //Štvrtok, 23. Novembra 2017 
Navigation
Index
Top 10 autorov
Top 20 článkov
Hľadať
Galéria

Zones
Asp.(NET)
C/C++
Flash
Grafika+Design
Hardware
Hry
Html/Css/Xml
Java
Linux
Networks
Operačný systém
Pascal/Delphi
PHP
Security
Software
SQL
Visual Basic
Wap/Wml
Windows
Zóna iné

Links
Script index Interval.cz Pc.sk Regedit.sk TipyaTriky.sk Builder.cz Asp.cz Živě.sk Zoznam.sk Code.box.sk Root.cz Quant&Financial

Odkazy

Sessions
Stránky Developer.sk si práve číta 354 čitateľov, z toho je 0 zaregistrovaných

BackEnd
Odkazy na nové články je možné preberať pomocou backend.php

kuk

    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.


Autor : Developer, čítané 10133x, komentárov: 0
Hodnotenie :    |  Piatok, 21. Februára 2003

Pridať nový komentár/Komentáre
Vaše hodnotenie :   horšie  lepšie
Login
Login:
Heslo:

Hľadať
 
v článkoch
v diskusiach
v komentároch

Top read
PHP Coder

Priklady v C. 1.čast.

DEV web management system

Php a bezpečnosť skriptov

Autorun CD

Top discuss
Jednoduchý web formulár (ASP.NET)

Delphi seriál: (1.časť)

Velmi rychla grafika v Pascale

DEV web management system

Naša ikona
Páčia sa Vám naše stránky ? Ak áno, podporte nás prosím a umiestnite si na svoju stránku našu ikonku:





Copyright (c) Developer.sk, All rights reserved.
Powered by DEV web management system