logo

Dodatni tipovi blokova (EBT) - Novo iskustvo rada sa Layout Builder-om❗

Dodatni tipovi blokova (EBT) – stilizovani, prilagodljivi tipovi blokova: slajdšouvi, kartice sa tabovima, kartice, akordeoni i mnogi drugi. Ugrađena podešavanja za pozadinu, DOM Box, javascript dodatke. Iskusite budućnost kreiranja rasporeda već danas.

Demo EBT moduli Preuzmite EBT module

❗Dodatni tipovi pasusa (EPT) – Novo iskustvo rada sa pasusima

Dodatni tipovi pasusa (EPT) – analogni skup modula zasnovan na pasusima.

Demo EPT moduli Preuzmite EPT module

Scroll

PHP lekcije - lekcija 8-2 - Switch operator

26/05/2025, by Ivan

U prošloj lekciji upoznali smo se sa if operatorom. If operator nam omogućava da proverimo da li je uslov tačan i u zavisnosti od rezultata izvršimo željene radnje.


Zamislimo sada da treba da izvršimo deset provera i u zavisnosti od rezultata izvršimo jednu od deset radnji. Naravno, možemo to zapisati i kroz if:

<?php
  if($x == 1){
    // radnje
  }
  if($x == 2){
    // radnje
  }
  if($x == 3){
    // radnje 
  }
  if($x == 4){
    // radnje 
  }
  if($x == 5){
    // radnje 
  }
  if($x == 6){
    // radnje 
  }
  if($x == 7){
    // radnje 
  }
  if($x == 8){
     // radnje
  }
  if($x == 9){
    // radnje 
  }
  if($x == 10){
    // radnje
  }
?>

Ovaj način će raditi, ali je bolje zapisivati ovakve provere kroz SWITCH operator.
PHP switch
Switch operator omogućava da proverimo vrednost izraza pod mnogo uslova. Hajde da prepravimo gornji primer korišćenjem switch:

<?php
  switch ($x){
    case 1:
      // radnje   
    break;
    case 2:
      // radnje       
    break;
    case 3:
      // radnje       
    break;
    case 4:
      // radnje       
    break;
    case 5:
      // radnje       
    break;
    case 6:
      // radnje       
    break;
    case 7:
      // radnje       
    break;
    case 8:
      // radnje       
    break;
    case 9:
      // radnje       
    break;
    case 10:
      // radnje       
    break;
    default:   
      // radnje ako nijedan drugi uslov nije ispunjen
  }
?>

Kao što sam rekao, oba primera će raditi isto, samo što sam kod switch dodao default koji se aktivira ako vrednost $x nije između 1 i 10.
Hajde da vidimo od čega se sastoji switch konstrukcija. Prvo ide sam switch operator, iza njega u zagradama je izraz koji proveravamo. U izrazu može biti promenljiva bilo kog tipa - tekstualnog ili numeričkog, npr:

<?php
  switch ($x){
    case 'Hello':
   
    break;
    case 'Bye':
   
    break;
  }
?>

Nakon izraza idu viticaste zagrade. U njima navodimo moguće vrednosti izraza i pripadajuće radnje.

<?php
  switch ($x){
    case 'Hello': // moguća vrednost
      print $x;   // radnje
    break; // kraj izvršenja switch-a
    case 2:
      $x++;
    break;
  }
?>

Provera vrednosti piše se kao case, a moguća vrednost se stavlja u navodnike ako je string ili bez njih ako je broj. Nakon vrednosti ide dvotačka.
Zatim pišemo radnje koje treba izvršiti ako je uslov ispunjen. Nakon svake case sekcije treba staviti break; što znači kraj rada switch-a.
Na kraju može ići default koji se izvršava ako nijedan case nije ispunjen ili ako ste zaboravili break; i izvršavanje se nastavi. Iz toga sledi:
1. Ne zaboravite break; nakon svakog case.
2. Break; nije neophodan nakon default, jer je to kraj switch-a.

Ispod je blok šema switch operatora:

Switch blok šema

Kao objašnjenje, ovde dobijamo ostatak pri deljenju broja $D i koliko je dana prošlo od početka nedelje - koji je danas dan.

<?php
// $D broj dana od ponedeljka
$x = $D % 7;
switch ($x){
  case 1:
    print 'ponedeljak';
  break;
  case 2:
    print 'utorak';
  break;
  case 3:
    print 'sreda';
  break;
  case 4:
    print 'četvrtak';
  break;
  case 5:
    print 'petak';
  break;
  case 6:
    print 'subota';
  break;
  case 7:
    print 'nedelja';
  break;
}
?>