Scrierea instructiunilor switch, break si default

In cazul in care vrem sa comparam valoarea unei singure variabile cu o succesiune de valori, in locul instructiunii "if" putem folosi instructiunea switch:
De exemplu, sa presupunem ca valoarea variabilei $numar este l, 2 sau 3, reprezentând respectiv dimensiunile "mica", "medie" si "mare". Iata un mic script care afiseaza dimensiunile asociate valorilor variabilei $numar, folosind functia switch alaturi de break si default care vor fi explicate mai jos:

<?php
switch($numar) {
      case(1):
          echo "mic";
          break;
      case(2):
          echo "mediu";
          break;
      case(3):
          echo "mare";
          break;
      default:
          echo "Acesta nu este un cod valabil";
}
?>
- Actiunea unei instructiuni switch este determinata de valoarea unei expresii întregi, nu de valoarea unei expresii conditionale. Numele variabilei este dat între parantezele care urmeaza dupa cuvântul cheie switch. Acoladele delimiteaza o serie de instructiuni case si o instructiune default optionala, fiecare dintre instructiunile cuprinse între acolade putând avea instructiuni asociate.
Când este executata, instructiunea switch încearca sa stabileasca o identitate între valoarea variabilei sale si valoarea asociata unei instructiuni case. Se vor executa instructiunile asociate primei instructiuni "case" pentru care identitatea respectiva este valabila.
Daca valoarea variabilei din instructiunea switch nu corespunde nici uneia din valorile asociate instructiunilor case, se vor executa instructiunile asociate instructiunii default, daca exista o asemenea instructiune (ne este obligatorie).
Un procedeu de programare indicat consta în aceea ca fiecare instructiune case din cadrul unei instructiuni switch sa se încheie cu o instructiune break.
; Instructiunea break determina încheierea executiei instructiunii switch, sare peste "case-urile" ramase si se executa codurile care mai sunt (daca exista) dupa "switch". În absenta instructiunii "break", executia trece la urmatoarea instructiune "case" sau "default", fapt nedorit în majoritatea cazurilor.

• Nu este necesar sa folositi numere întregi consecutive în instructiunile case ale unei instructiuni switch. Daca preferati, puteti folosi numere întregi non-consecutive, numere cu virgula sau siruri. Valoarea de la "case" se poate adauga si fara paranteze, separata prin spatiu.
- Exemplu:
<?php
$site = 'marplo';
switch($site) {
  case 1:
    echo 'php.net';
    break;
  case 'coursesweb':
    echo 'https://coursesweb.net';
    break;
  case 'marplo':
    echo 'marplo.net';
    break;
  default: echo 'google.com';
}
?>

2. Operatorul ? :

Operatorul conditional ?:, denumit uneori "operator ternar" sau "operator întrebare-doua puncte", constituie o alta modalitate de a scrie decizii în PHP.
Acest operator formeaza o expresie care se poate folosi în multe contexte PHP. Iata sintaxa de utilizare a acestuia:

expresie-conditionala ? valoare-TRUE : valoare-FALSE
Observati cum semnul întrebarii este separat de caracterul doua puncte prin valoarea valoare-TRUE.
Operatorul conditional îsi evalueaza expresia conditionala. Daca expresia este evaluata la valoarea TRUE, operatorul conditional returneaza valoarea valoare-TRUE; în caz contrar, returneaza valoarea valoare-FALSE.
De exemplu, sa luam în considerare urmatoarea instructiune de atribuire, care foloseste un operator conditional:
$a = ($b > $c) ? 10  : 20;
Aceasta instructiune de atribuire compara valorile variabilelor $b si $c. Daca valoarea variabilei $b este mai mare decât aceea a variabilei $c (adica TRUE), atunci variabilei $a îi este atribuita valoarea 10; în caz contrar, variabilei respective îi este atribuita valoarea 20.

Un Test simplu in fiecare zi

HTML
CSS
JavaScript
PHP-MySQL
Engleza
Spaniola
Ce atribut indica faptul ca un camp de formular trebuie completat?
required="required" autofocus="autofocus" placeholder="text"
<input type="text" name="name1" required="required" />
Ce metoda CSS misoreaza sau mareste dimensiunile unui element (inclusiv continutul)?
translate() scale() skew()
#some_id:hover {
  transform: scale(2, 1.5);
  -ms-transform: scale(2, 1.5);    /* IE 9 */
  -moz-transform: scale(2, 1.5);   /* Firefox */
}
Click pe metoda obiectului Date care returneaza ziua din luna.
setDate() getMonth() getDate()
var rightnow = new Date();
var day = rightnow.getDate();
alert(day);
Ce functie este folosita pentru a incarca un fisier pe server?
is_file() move_uploaded_file() fopen()
if(move_uploaded_file($_FILES["field_name"]["tmp_name"], "dir/file_name")) {
  echo "Fisierul a fost incarcat";
}
Cum se spune in engleza expresia: "Ploua cu galeata"?
rain cats and dogs rain buckets quiet rain
In Bucharest it`s raining cats and dogs.
- In Bucuresti ploua cu galeata.
Cum se spune in spaniola expresia: "Ploua cu galeata"?
llover cubo llover a cántaros lluvia tranquila
En Madrid está lloviendo a cántaros.
- In Madrid ploua cu galeata.
Instructiuni conditionale switch

Last accessed pages

  1. Curs si Tutoriale Ajax (33298)
  2. Trecutul simplu si continuu - Past Tense Simple and Continuous (53959)
  3. Curs CSS Online Tutoriale CSS3 (38494)
  4. Curs HTML gratuit Tutoriale HTML5 (77492)
  5. Cursuri si Tutoriale: Engleza, Spaniola, HTML, CSS, Php-Mysql, JavaScript, Ajax (118003)

Popular pages this month

  1. Cursuri si Tutoriale: Engleza, Spaniola, HTML, CSS, Php-Mysql, JavaScript, Ajax (1052)
  2. Curs HTML gratuit Tutoriale HTML5 (760)
  3. Curs si Tutoriale JavaScript (691)
  4. Curs si Tutoriale Ajax (657)
  5. Curs CSS Online Tutoriale CSS3 (636)