Home   FORUM   Toplista   HTML   CSS   JavaScript   PHP   DIZAJN   SEO   Mapa
KONTAKT
izuzetan[at]gmail.com






TOP LISTA SAJTOVA

PHP strukture grananja

IF

Kroz primer je najlakše objasniti:

if ( $a > 0 ) echo "vrednost je veća od nule i ona je: " . $a;

Znači, ukoliko vrednost promenjljive $a veća od nule izvršiće se echo iskaz, a u suprotno neće.

Blok iskaza

U prethodnom primeru za iskaz IF videli smo da ako je uslov zadovoljen izvršava se samo jedan iskaz. Ukoliko želimo da izvršimo više od jednok iskaza nakon što je uslov zadovoljen moramo koristiti "BLOK ISKAZA". Blokom iskaza se naziva skup iskaza smeštenih u vitičastim zagradama, to jest izmedju "{ }". Da bi smo ovo objasnili uzmimo prethodni primer i proširimo ga sa još jednim izrazom, na primer pored ispisivanja treba da se i kvadrira promenjljiva ukoliko je uslov zadovoljen:

if ($a > 0) {
  echo "vrednost je veća od nule i ona je: " . $a . "<br>";
  $kvadrat = $a * $a ;
  echo "a kvadrat te vrednosti je: " . $kvadrat ;
}

Znači ako je uslov ispunjen svi iskazi unutar vitičastih zagrada biće izvršeni a ako nije uslov ispunjen svi će biti preskočeni. Ovde smo došli do još jednog momenta ! Kao što znamo iskaz <br> je u HTML iskaz koji služi da se sledeći ispis na koji se naidje ispiše u novi red. Naime, ranije smo rekli da unutar PHP programa mogu da se implementiraju i HTML iskazi, i to sad vidimo. Dakle, kao što vidimo implementira se preko echo ili print naredbi i to tako što HTML iskaze stavimo unutar navodnika.

Iskaz ELSE

Iskaz ELSE omogućava izvršenje iskaza ukoliko iskaz IF nije ispunjen. U prethodna dva primera videli smo da ako uslov IF nije bio ispunjen samo se preskače blok iskaza. Sad će mo uvesti u novom primeru mogućnost da ako uslov nije ispunjen da se ispiše poruka "ne postoji vrednost promenjljive ili je jednaka nuli", i u istom bloku da dodelimo vrednost promenjljivoj $a na primer 100.

if ($a > 0) {
  echo "vrednost je veća od nule i ona je: " . $a . "<br>";
  $kvadrat = $a * $a;
  echo "a kvadrat te vrednosti je: " . $kvadrat;
} else {
  echo "vrednost je manja ili jednaka nuli";
  $a = 100;
}

Ako treba izvršiti samo po jedan iskaz onda nije neophodno koristiti blokove. Na primer:

if ($a>0) echo "promenjljiva je veća od nule";
else echo "promenjljiva nije veća od nule";

Iskaz ELSE IF

Po nekad treba doneti i više od dve odluke. U tom slučaju se koristi ELSE IF uslov. Ajde da vidimo na primeru:

Za veće kupovine daje se popust:

  • Za manje od 5 kupljenih artikla nema popusta,
  • 5 do 10 – popust 10%,
  • 11 do 15 – popust 12%,
  • 16 i više - popust 15%
Evo kako bi izgledao kod:

if ($količina < 5) $procenat = 0;
else if ($količina > 4 && $količina < 11) $procenat = 10;
else if ($količina > 10 && $količina < 16) $procenat = 12;
else ($količina > 15) $procenat = 15;

Ovde uslovi jedan drugi isključuje pa će se izvršiti samo jedan ali ako se uslovi preklapaju biće izvršen onaj na koga se prvo naidje a ostali će biti preskočeni.

SWITCH uslov

Takodje i iskaz SWITCH odlučuje izmedju više od dve opcije. Upotrebićemo prethodni primer:

switch ($količina) {
  case ($količina<5):
     $procenat=0;
  break;
  case ($količina>4 && $količina<11):
     $procenat=10;
  break;
  case ($količina>10 && $količina<16):
     $procenat=12;
  break;
  default :
     $procenat=15;
  break;
}

Napravimo program koji će brojeve od 1 do 5 imenovati, a ako je u pitanju neki drugi broj izvan skupa od 1 do 5 da ispiše "vrednost promenjljive nije iz skupa jedan do pet".

switch ($a) {
  case 1:
    echo "jedan";
  break;
  case 2:
    echo "dva";
  break;
  case 3:
    echo "tri";
  break;
  case 4:
    echo "četri";
  break;
  case 5:
    echo "pet";
  break;
  default:
    echo "vrednost promenjljive nije iz skupa od jedan do pet";
  break;
}

Umesto na primer "case 1:" možemo pisati i neki matematički izraz ako je neophodno, pa tako bi bilo na primer:

case ($b * 25 + 4);

Isto može na primer i neki ovakav program da se pojavi nekad:

switch ($x) {
  case ($y * 4):
  case (9 * 3):
     echo "Zapamti";
  break;
  default:
     echo "Zaboravi";
}

Dakle mogu da se pojave vise CASE naredbe sa jednom BREAK naredbom.

WHILE petlja

Kao i IF i ona ima logički uslov. Razlika izmedju while petlje i IF uslova je u tome što IF izvršava odredjeni iskaz ili blok iskaza ako je uslov ispunjen jednom, a while petlja izvršava blok koda sve dok je uslov ispunjen. While petlja se koristi kada neznamo unapred broj iteracija. Kada je poznat broj iteracija obično se koristi for petlja jer je brža. Kao primer ispišimo brojeve od 10 do 20:

$a=10;
While ($a < 21) {
   echo $a . "<br>" ;
   $a++ ;
}

Copyright © 2010 BUbaj. Powered By bubaj.com
PHP    PHP sintaksa    Fajl    Niz    String    Funkcija    Objektno programiranje    MySQL    Unos fajla    Datum    Forme    Sesija    Registracija