traži:  
 php.com.hr > Vodič > Kontrolne strukture

Kontrolne strukture
 


PHP podržava više konstrukcija za kontroliranje redosljeda izvršavanja programa. Uvjetni iskazi poput if/else i switch dozvoljavaju programu da izvršava različite dijelove koda ili nijedan ovisno oodređenim uvjetima. Petlja poput while i for podržavaju ponavljanjajuća izvšavanja određenog koda

if

If iskaz provjerava istinitost izraza i ako je izraz true izvršava naredbu. Naredba izgleda ovako:

if  (izraz)
naredba



Da odredite alternativnu naredbu za izvršavanje kada je izraz false koristite else naredbu.

if  (izraz)
naredba
else
naredba


Primjer:

if  ($provjeren_korisnik)
echo "Dobrodošao!";
else
echo "Pristup zabranjen!";



Da uključite više od jedne naredbe u if naredbi, koristite blok:

if  ($provjeren_korisnik)
echo "Dobrodošao!";
$provjeren = 1;
} else {
echo "Pristup zabranjen!";
exit;
}


PHP pruža i drugačiju sintaksu za provjere i petlje:

if  ($provjeren_korisnik) :
echo "Dobrodošao!";
$provjeren = 1;
else :
echo "pristup zabranjen!";
exit;
endif;




Slijedeći primjer pokazuje sličan stil sintakse kao maloprije koji je uključen u HTML:

<? if ($provjeren_korisnik): ?>
<table>
<tr>
<td>Ime:</td><td>Janica</td>
</tr>
<tr>
<td>Prezime:</td><td>Janić</td>
</tr>
</table>
<? else: ?>
Ulogirajte se.
<? endif ?>



Ternalni uvjetni operator (?:) može biti upotrebljen za jednostavne true/false provjere:

<td><?  if  ($phpJeSuper) echo 'da';  else echo 'ne'; ?></td>

sa ternalnim operatorom to izgleda ovako:

<? echo '<td>'.($phpJeSuper  ?  'da'  'ne').'</td>' ?>




switch

Često je slučaj da vrijednost jedna varijable može odrediti jedan od nekoliko različitih opredjeljenja. Switch naredba je dizajnirana za takve situacije


Recimo da npr. imate ovakav slučaj:

if ($ime == 'Mirko')
  // izvrši nešto
elseif ($ime == 'Alan')
  // izvrši nešto
elseif ($ime == 'Mario')
  // izvrši nešto
elseif ($ime == 'Ana')
  // izvrši nešto

Takvu naredbu možete zamijeniti sa slijedećom switch naredbom:
 
switch($ime) {
  case 'Mirko':
  // izvrši nešto
    break;
  case 'Alan':
    // izvrši nešto
    break;
  case 'Mario':
      // izvrši nešto
    break;
  case 'Ana':
      // izvrši nešto
    break;
}

Alternativna sintaksa bi mogla biti i ovakva:

switch($ime) :
  case 'Mirko':
  // izvrši nešto
    break;
  case 'Alan':
    // izvrši nešto
    break;
  case 'Mario':
      // izvrši nešto
    break;
  case 'Ana':
      // izvrši nešto
    break;
endswitch;


U slijedećem slućaju "Da" se ispisuje kada je $ime jednako "Alan" ili "Mario"
switch ($ime) {
  case 'Alan':
  case 'Mario':
    print('Da');
    break;
  default:
    print('Ne');
    break;
}

 


Vodič
 
 © 2004 - 2008 php.com.hr