noţiuni elementare despre internet · grup de instructiuni} expresia expresie este evaluata la o...
TRANSCRIPT
![Page 1: Noţiuni elementare despre Internet · grup de instructiuni} Expresia expresie este evaluata la o valoare logica. Daca aceasta este true va fi executata secventa de cod grup, care](https://reader036.vdocuments.mx/reader036/viewer/2022070213/610f96780cbf3c14a77dedbd/html5/thumbnails/1.jpg)
TEHNOLOGII WEB
Universitatea “Constantin Brâncuşi” din Târgu-Jiu
Lect.dr. Adrian Runceanu
![Page 2: Noţiuni elementare despre Internet · grup de instructiuni} Expresia expresie este evaluata la o valoare logica. Daca aceasta este true va fi executata secventa de cod grup, care](https://reader036.vdocuments.mx/reader036/viewer/2022070213/610f96780cbf3c14a77dedbd/html5/thumbnails/2.jpg)
Curs 8
PHP (Php: Hypertext Preprocessor)
(partea II)
04.05.2017 Tehnologii WEB - curs 2
![Page 3: Noţiuni elementare despre Internet · grup de instructiuni} Expresia expresie este evaluata la o valoare logica. Daca aceasta este true va fi executata secventa de cod grup, care](https://reader036.vdocuments.mx/reader036/viewer/2022070213/610f96780cbf3c14a77dedbd/html5/thumbnails/3.jpg)
Curs 8
1. Instrucţiuni conditionale1.1. Instrucţiunea if1.2. Instrucţiunea switch1.3. Instrucţiuni pentru controlul execuţiei iteraţiilor
2. Instrucţiuni repetitive2.1. Instrucţiunea while2.2. Instrucţiunea do while2.3. Instrucţiunea for
04.05.2017 Tehnologii WEB - curs 3
![Page 4: Noţiuni elementare despre Internet · grup de instructiuni} Expresia expresie este evaluata la o valoare logica. Daca aceasta este true va fi executata secventa de cod grup, care](https://reader036.vdocuments.mx/reader036/viewer/2022070213/610f96780cbf3c14a77dedbd/html5/thumbnails/4.jpg)
Curs 8
3. Funcţii3.1. Apelarea funcţiilor3.2. Funcţii definite de utilizator
3.2.1. Definirea funcţiilor3.2.2. Variabile automatice3.2.3. Funcţii care întorc valori3.2.4. Accesul la variabile declarate în exterior.
Variabile globale3.2.5. Funcţii recursive3.2.6. Terminarea execuţiei unui script
04.05.2017 Tehnologii WEB - curs 4
![Page 5: Noţiuni elementare despre Internet · grup de instructiuni} Expresia expresie este evaluata la o valoare logica. Daca aceasta este true va fi executata secventa de cod grup, care](https://reader036.vdocuments.mx/reader036/viewer/2022070213/610f96780cbf3c14a77dedbd/html5/thumbnails/5.jpg)
1. Instrucţiuni(I)
Ştim că orice program se poate scrie utilizand numai trei tipuri de structuri:
1. secventiala (sau liniara)2. alternativa3. repetitiva conditionata anterior
Pe langa cele trei amintite, oricare limbaj de nivel inalt implementeaza si alte structuri de control, introduse in scopul cresterii eficientei activitatii de programare.
04.05.2017 Tehnologii WEB - curs 5
![Page 6: Noţiuni elementare despre Internet · grup de instructiuni} Expresia expresie este evaluata la o valoare logica. Daca aceasta este true va fi executata secventa de cod grup, care](https://reader036.vdocuments.mx/reader036/viewer/2022070213/610f96780cbf3c14a77dedbd/html5/thumbnails/6.jpg)
1. Instrucţiuni(II)
Structurile enumerate (cu exceptia celei secventiale) pot fi grupate in urmatoarele doua categorii:1. structuri de control conditional – controleaza
fluxul programului, executand sau nu anumite portiuni de cod, in functie de indeplinirea sau neindeplinirea unor conditii
2. structuri de control repetitive - executa anumite portiuni de cod de un numar determinat de ori
04.05.2017 Tehnologii WEB - curs 6
![Page 7: Noţiuni elementare despre Internet · grup de instructiuni} Expresia expresie este evaluata la o valoare logica. Daca aceasta este true va fi executata secventa de cod grup, care](https://reader036.vdocuments.mx/reader036/viewer/2022070213/610f96780cbf3c14a77dedbd/html5/thumbnails/7.jpg)
1. Instrucţiuni condiţionale
Structurile de control conditional sunt implementate in limbajul PHP prin intermediul instructiunilor:
1. if 2. switch
care permit ramnificarea executiei scriptului pe diverse cai, in functie de deciziile luate in timpul executiei acestuia.
04.05.2017 Tehnologii WEB - curs 7
![Page 8: Noţiuni elementare despre Internet · grup de instructiuni} Expresia expresie este evaluata la o valoare logica. Daca aceasta este true va fi executata secventa de cod grup, care](https://reader036.vdocuments.mx/reader036/viewer/2022070213/610f96780cbf3c14a77dedbd/html5/thumbnails/8.jpg)
Curs 8
1. Instrucţiuni conditionale1.1. Instrucţiunea if1.2. Instrucţiunea switch1.3. Instrucţiuni pentru controlul execuţiei iteraţiilor
2. Instrucţiuni repetitive2.1. Instrucţiunea while2.2. Instrucţiunea do while2.3. Instrucţiunea for
04.05.2017 Tehnologii WEB - curs 8
![Page 9: Noţiuni elementare despre Internet · grup de instructiuni} Expresia expresie este evaluata la o valoare logica. Daca aceasta este true va fi executata secventa de cod grup, care](https://reader036.vdocuments.mx/reader036/viewer/2022070213/610f96780cbf3c14a77dedbd/html5/thumbnails/9.jpg)
1.1. Instructiunea ifCea mai des utilizata instructiune conditionala
este if. Instructiunea if are urmatoarea sintaxa:
if (expresie) { grup de instructiuni
}
Expresia expresie este evaluata la o valoare logica. Daca aceasta este true va fi executata secventa de cod
grup, care include una sau mai multe instructiuni. Daca sunt cel putin doua instructiuni, grupul trebuie
inclus obligatoriu intre acolade, in caz contrar fiind executata numai prima instructiune.
04.05.2017 Tehnologii WEB - curs 9
![Page 10: Noţiuni elementare despre Internet · grup de instructiuni} Expresia expresie este evaluata la o valoare logica. Daca aceasta este true va fi executata secventa de cod grup, care](https://reader036.vdocuments.mx/reader036/viewer/2022070213/610f96780cbf3c14a77dedbd/html5/thumbnails/10.jpg)
Observatie: In mod obisnuit, sunt folosite acoladele chiar daca
grupul contine numai o singura instructiune.
Exemplu:
if ($numar>=10 && $numar<=30) { echo "Valori intregi cuprinse intre 10 si 30";
}
04.05.2017 Tehnologii WEB - curs 10
![Page 11: Noţiuni elementare despre Internet · grup de instructiuni} Expresia expresie este evaluata la o valoare logica. Daca aceasta este true va fi executata secventa de cod grup, care](https://reader036.vdocuments.mx/reader036/viewer/2022070213/610f96780cbf3c14a77dedbd/html5/thumbnails/11.jpg)
Instructiunea if. . .else are urmatoarea sintaxa:
if (expresie) { grup1 }else { grup2 }
Daca valoarea logica a expresiei expresie -evaluata de interpretorul PHP este true, va fi executat grupul de instructiuni grup1, in caz contrar fiind executat grup2.
04.05.2017 Tehnologii WEB - curs 11
![Page 12: Noţiuni elementare despre Internet · grup de instructiuni} Expresia expresie este evaluata la o valoare logica. Daca aceasta este true va fi executata secventa de cod grup, care](https://reader036.vdocuments.mx/reader036/viewer/2022070213/610f96780cbf3c14a77dedbd/html5/thumbnails/12.jpg)
Exemplu:Daca o valoare este in intervalul [1, 2], se
transmite catre browser valoarea (x+1)/2, altfel se transmite valoarea (x-1)/2:
<?phpif($x>=1 && $x<=2)
$v=($x+1)/2;else
$v=($x-1)/2;echo ($v);
?>
04.05.2017 Tehnologii WEB - curs 12
![Page 13: Noţiuni elementare despre Internet · grup de instructiuni} Expresia expresie este evaluata la o valoare logica. Daca aceasta este true va fi executata secventa de cod grup, care](https://reader036.vdocuments.mx/reader036/viewer/2022070213/610f96780cbf3c14a77dedbd/html5/thumbnails/13.jpg)
Instructiunea asociata unei instructiuni ifsau else poate fi ea însasi o instructiune if.
O asemenea instructiune if se numeste "instructiune if imbricata".
04.05.2017 Tehnologii WEB - curs 13
![Page 14: Noţiuni elementare despre Internet · grup de instructiuni} Expresia expresie este evaluata la o valoare logica. Daca aceasta este true va fi executata secventa de cod grup, care](https://reader036.vdocuments.mx/reader036/viewer/2022070213/610f96780cbf3c14a77dedbd/html5/thumbnails/14.jpg)
Exemplu de instructiune if imbricata:
<?php if ($numar > 10)
if ($numar > 100) echo "Acesta este un numar mai mare decat 100";
else echo "Acesta este un numar mai mic decat 100,
dar mai mare decat 10"; else
echo "Acesta este un numar mic"; ?>
04.05.2017 Tehnologii WEB - curs 14
![Page 15: Noţiuni elementare despre Internet · grup de instructiuni} Expresia expresie este evaluata la o valoare logica. Daca aceasta este true va fi executata secventa de cod grup, care](https://reader036.vdocuments.mx/reader036/viewer/2022070213/610f96780cbf3c14a77dedbd/html5/thumbnails/15.jpg)
O instructiune corelata atât cu instructiunea if, cât si cu instructiunea else, este instructiunea elseif.
Când este folosita corect, poate fi mai simplu de înteles decât o instructiune if imbricata, logic echivalenta cu aceasta.
04.05.2017 Tehnologii WEB - curs 15
![Page 16: Noţiuni elementare despre Internet · grup de instructiuni} Expresia expresie este evaluata la o valoare logica. Daca aceasta este true va fi executata secventa de cod grup, care](https://reader036.vdocuments.mx/reader036/viewer/2022070213/610f96780cbf3c14a77dedbd/html5/thumbnails/16.jpg)
Exemplu de instructiune elseif:
<?php if ($numar > 100 )
echo "Acesta este un numar mai mare decat 100"; elseif ($numar > 10)
echo "Acesta este un numar mai mic decat 100, dar mai mare decat 10";
elseif ($numar > 1) echo "Acesta este un numar mic";
else echo "Acesta este un numar foarte mic";
?>
04.05.2017 Tehnologii WEB - curs 16
![Page 17: Noţiuni elementare despre Internet · grup de instructiuni} Expresia expresie este evaluata la o valoare logica. Daca aceasta este true va fi executata secventa de cod grup, care](https://reader036.vdocuments.mx/reader036/viewer/2022070213/610f96780cbf3c14a77dedbd/html5/thumbnails/17.jpg)
Curs 8
1. Instrucţiuni conditionale1.1. Instrucţiunea if1.2. Instrucţiunea switch1.3. Instrucţiuni pentru controlul execuţiei iteraţiilor
2. Instrucţiuni repetitive2.1. Instrucţiunea while2.2. Instrucţiunea do while2.3. Instrucţiunea for
04.05.2017 Tehnologii WEB - curs 17
![Page 18: Noţiuni elementare despre Internet · grup de instructiuni} Expresia expresie este evaluata la o valoare logica. Daca aceasta este true va fi executata secventa de cod grup, care](https://reader036.vdocuments.mx/reader036/viewer/2022070213/610f96780cbf3c14a77dedbd/html5/thumbnails/18.jpg)
1.2. Instructiunea switch
A doua instructiune conditionala este switch, avand urmatoarea sintaxa:
switch (expresie){ case expresie1: grup1; break;case expresie2: grup2; break;
. . . . .
[default: grup;] }Expresia expresie este comparata cu expresie1, expresie2,… .04.05.2017 Tehnologii WEB - curs 18
![Page 19: Noţiuni elementare despre Internet · grup de instructiuni} Expresia expresie este evaluata la o valoare logica. Daca aceasta este true va fi executata secventa de cod grup, care](https://reader036.vdocuments.mx/reader036/viewer/2022070213/610f96780cbf3c14a77dedbd/html5/thumbnails/19.jpg)
Daca se gaseste o potrivire – pentru comparatie, se utilizeaza operatorul de egalitate “==” – (expresiek), va fi executata secventa de cod corespunzatoare (adica grupk), ignorand eventualele linii case ramase.
Grupul de instructiuni grup, asociat cazului default, este executat numai daca, anterior, nu s-a gasit nici o potrivire.
04.05.2017 Tehnologii WEB - curs 19
![Page 20: Noţiuni elementare despre Internet · grup de instructiuni} Expresia expresie este evaluata la o valoare logica. Daca aceasta este true va fi executata secventa de cod grup, care](https://reader036.vdocuments.mx/reader036/viewer/2022070213/610f96780cbf3c14a77dedbd/html5/thumbnails/20.jpg)
Exemplu:Daca valoarea transmisa pentru x este 1,2,3,4, atunci
valoarea respectiva este retransmisa catre utilizatoralfabetic, altfel, se va transmite un mesaj oarecare:
<?phpswitch($x){
case (1): echo("unu"); break;case (2): echo("doi"); break;case (3): echo("trei"); break;case (4): echo("patru"); break;default : echo ("Nu este 1, 2, 3 sau 4");
}?>
04.05.2017 Tehnologii WEB - curs 20
![Page 21: Noţiuni elementare despre Internet · grup de instructiuni} Expresia expresie este evaluata la o valoare logica. Daca aceasta este true va fi executata secventa de cod grup, care](https://reader036.vdocuments.mx/reader036/viewer/2022070213/610f96780cbf3c14a77dedbd/html5/thumbnails/21.jpg)
Curs 8
1. Instrucţiuni conditionale1.1. Instrucţiunea if1.2. Instrucţiunea switch1.3. Instrucţiuni pentru controlul execuţiei iteraţiilor
2. Instrucţiuni repetitive2.1. Instrucţiunea while2.2. Instrucţiunea do while2.3. Instrucţiunea for
04.05.2017 Tehnologii WEB - curs 21
![Page 22: Noţiuni elementare despre Internet · grup de instructiuni} Expresia expresie este evaluata la o valoare logica. Daca aceasta este true va fi executata secventa de cod grup, care](https://reader036.vdocuments.mx/reader036/viewer/2022070213/610f96780cbf3c14a77dedbd/html5/thumbnails/22.jpg)
1.3. Instructiuni pentru controlul executiei iteratiilor
Impreuna cu instructiunile repetitive sunt utilizate instructiunile break si continue, avand rolul de a introduce elemente de control suplimentare in executia acestora.
Instructiunea break are rolul de a intrerupe executia iteratiei curente si, odata cu aceasta, a instructiunii in care este utilizata.
04.05.2017 Tehnologii WEB - curs 22
![Page 23: Noţiuni elementare despre Internet · grup de instructiuni} Expresia expresie este evaluata la o valoare logica. Daca aceasta este true va fi executata secventa de cod grup, care](https://reader036.vdocuments.mx/reader036/viewer/2022070213/610f96780cbf3c14a77dedbd/html5/thumbnails/23.jpg)
In cazul in care sunt folosite structuri pe mai multe niveluri (imbricate), break poate primi un argument de tip intreg prin intermediul caruia se precizeaza nivelul la care se va intrerupe executia instructiunilor:
– adica break n, unde n este o expresie care poate fi evaluata la tipul mentionat
– in plus, break 1 are acelasi efect ca break
04.05.2017 Tehnologii WEB - curs 23
![Page 24: Noţiuni elementare despre Internet · grup de instructiuni} Expresia expresie este evaluata la o valoare logica. Daca aceasta este true va fi executata secventa de cod grup, care](https://reader036.vdocuments.mx/reader036/viewer/2022070213/610f96780cbf3c14a77dedbd/html5/thumbnails/24.jpg)
Curs 8
1. Instrucţiuni conditionale1.1. Instrucţiunea if1.2. Instrucţiunea switch1.3. Instrucţiuni pentru controlul execuţiei iteraţiilor
2. Instrucţiuni repetitive2.1. Instrucţiunea while2.2. Instrucţiunea do while2.3. Instrucţiunea for
04.05.2017 Tehnologii WEB - curs 24
![Page 25: Noţiuni elementare despre Internet · grup de instructiuni} Expresia expresie este evaluata la o valoare logica. Daca aceasta este true va fi executata secventa de cod grup, care](https://reader036.vdocuments.mx/reader036/viewer/2022070213/610f96780cbf3c14a77dedbd/html5/thumbnails/25.jpg)
2. Instructiuni repetitive
Structurile repetitive (sau de ciclare) sunt implementate in limbajul PHP prin intermediul instructiunilor:– while si for (structura repetitiva conditionata
anterior)– respectiv do...while (structura repetitiva
conditionata posterior)fiind utilizate in scopul executiei repetate a unor
secvente de cod. Executia unei astfel de secvente poarta numele de
ciclu, iteraţie sau buclă (loop).
04.05.2017 Tehnologii WEB - curs 25
![Page 26: Noţiuni elementare despre Internet · grup de instructiuni} Expresia expresie este evaluata la o valoare logica. Daca aceasta este true va fi executata secventa de cod grup, care](https://reader036.vdocuments.mx/reader036/viewer/2022070213/610f96780cbf3c14a77dedbd/html5/thumbnails/26.jpg)
Curs 8
1. Instrucţiuni conditionale1.1. Instrucţiunea if1.2. Instrucţiunea switch1.3. Instrucţiuni pentru controlul execuţiei iteraţiilor
2. Instrucţiuni repetitive2.1. Instrucţiunea while2.2. Instrucţiunea do while2.3. Instrucţiunea for
04.05.2017 Tehnologii WEB - curs 26
![Page 27: Noţiuni elementare despre Internet · grup de instructiuni} Expresia expresie este evaluata la o valoare logica. Daca aceasta este true va fi executata secventa de cod grup, care](https://reader036.vdocuments.mx/reader036/viewer/2022070213/610f96780cbf3c14a77dedbd/html5/thumbnails/27.jpg)
2.1. Instructiunea while
Sintaxa instructiunii while este urmatoarea:
while (expresie){
grup instructiuni }
Procesorul PHP executa grupul de instructiuni grup in mod repetat, atat timp cat expresia expresie este evaluata cu valoarea logica true.
04.05.2017 Tehnologii WEB - curs 27
![Page 28: Noţiuni elementare despre Internet · grup de instructiuni} Expresia expresie este evaluata la o valoare logica. Daca aceasta este true va fi executata secventa de cod grup, care](https://reader036.vdocuments.mx/reader036/viewer/2022070213/610f96780cbf3c14a77dedbd/html5/thumbnails/28.jpg)
Evaluarea expresiei amintite se face la inceputul fiecarei iteratii, ceea ce inseamna ca este posibil ca, in cazul in care prima evaluare genereaza valoarea logica false, instructiunile incluse in secventa grup sa nu fie executate niciodata.
Acoladele sunt necesare numai daca grup contine cel putin doua instructiuni.
04.05.2017 Tehnologii WEB - curs 28
![Page 29: Noţiuni elementare despre Internet · grup de instructiuni} Expresia expresie este evaluata la o valoare logica. Daca aceasta este true va fi executata secventa de cod grup, care](https://reader036.vdocuments.mx/reader036/viewer/2022070213/610f96780cbf3c14a77dedbd/html5/thumbnails/29.jpg)
Exemplu:Se calculeaza suma:
<?php$s=0; $i=1;while($i <= 5){
$s+=$i + $i;$i++;
}echo ($s);
?>
04.05.2017 Tehnologii WEB - curs 29
![Page 30: Noţiuni elementare despre Internet · grup de instructiuni} Expresia expresie este evaluata la o valoare logica. Daca aceasta este true va fi executata secventa de cod grup, care](https://reader036.vdocuments.mx/reader036/viewer/2022070213/610f96780cbf3c14a77dedbd/html5/thumbnails/30.jpg)
Curs 8
1. Instrucţiuni conditionale1.1. Instrucţiunea if1.2. Instrucţiunea switch1.3. Instrucţiuni pentru controlul execuţiei iteraţiilor
2. Instrucţiuni repetitive2.1. Instrucţiunea while2.2. Instrucţiunea do while2.3. Instrucţiunea for
04.05.2017 Tehnologii WEB - curs 30
![Page 31: Noţiuni elementare despre Internet · grup de instructiuni} Expresia expresie este evaluata la o valoare logica. Daca aceasta este true va fi executata secventa de cod grup, care](https://reader036.vdocuments.mx/reader036/viewer/2022070213/610f96780cbf3c14a77dedbd/html5/thumbnails/31.jpg)
2.2. Instructiunea do...while
Desi utilizarea instructiunii do. . .while nu este absolut necesara, ea permite obtinerea unei flexibilitati sporite in scrierea scripturilor.
Sintaxa acestei instructiuni este urmatoarea:
do {
grup instructiuni } while (expresie);
04.05.2017 Tehnologii WEB - curs 31
![Page 32: Noţiuni elementare despre Internet · grup de instructiuni} Expresia expresie este evaluata la o valoare logica. Daca aceasta este true va fi executata secventa de cod grup, care](https://reader036.vdocuments.mx/reader036/viewer/2022070213/610f96780cbf3c14a77dedbd/html5/thumbnails/32.jpg)
Instructiunea do... while este asemanatoare cu while, cu exceptia faptului ca evaluarea expresiei expresie se face dupa executia grupului de instructiuni grup rezultand ca aceasta are loc cel putin o data!
Acoladele sunt necesare numai daca grup include cel putin doua instructiuni.
04.05.2017 Tehnologii WEB - curs 32
![Page 33: Noţiuni elementare despre Internet · grup de instructiuni} Expresia expresie este evaluata la o valoare logica. Daca aceasta este true va fi executata secventa de cod grup, care](https://reader036.vdocuments.mx/reader036/viewer/2022070213/610f96780cbf3c14a77dedbd/html5/thumbnails/33.jpg)
Exemplu:Se calculeaza suma:
<?php$s=0; $i=1;do{
$s += $i + $i;$i++;
}while($i <= 5);echo ($s);
?>
04.05.2017 Tehnologii WEB - curs 33
![Page 34: Noţiuni elementare despre Internet · grup de instructiuni} Expresia expresie este evaluata la o valoare logica. Daca aceasta este true va fi executata secventa de cod grup, care](https://reader036.vdocuments.mx/reader036/viewer/2022070213/610f96780cbf3c14a77dedbd/html5/thumbnails/34.jpg)
Curs 8
1. Instrucţiuni conditionale1.1. Instrucţiunea if1.2. Instrucţiunea switch1.3. Instrucţiuni pentru controlul execuţiei iteraţiilor
2. Instrucţiuni repetitive2.1. Instrucţiunea while2.2. Instrucţiunea do while2.3. Instrucţiunea for
04.05.2017 Tehnologii WEB - curs 34
![Page 35: Noţiuni elementare despre Internet · grup de instructiuni} Expresia expresie este evaluata la o valoare logica. Daca aceasta este true va fi executata secventa de cod grup, care](https://reader036.vdocuments.mx/reader036/viewer/2022070213/610f96780cbf3c14a77dedbd/html5/thumbnails/35.jpg)
2.3. Instructiunea for
Sintaxa instructiunii for este urmatoarea:
for (expresie1; expresie2; expresie3) {
grup instructiuni}
Cele trei expresii (argumentele instructiunii), care - de cele mai multe ori - sunt construite pe baza unei variabile de ciclare, au urmatoarele semnificatii:
04.05.2017 Tehnologii WEB - curs 35
![Page 36: Noţiuni elementare despre Internet · grup de instructiuni} Expresia expresie este evaluata la o valoare logica. Daca aceasta este true va fi executata secventa de cod grup, care](https://reader036.vdocuments.mx/reader036/viewer/2022070213/610f96780cbf3c14a77dedbd/html5/thumbnails/36.jpg)
expresie1 (expresie de initializare) — este evaluata o singura data, la inceputul executiei instructiunii for
expresie2 (expresia de test) - este evaluata la inceputul fiecarei iteratii
In functie de rezultatul evaluarii, se executa sau nu grupul de instructiuni grup
expresie3 (expresia de modificare) - este folosita pentru a introduce actiunile care urmeaza a fi efectuate asupra variabilei de ciclare (incrementare/decrementare)
04.05.2017 Tehnologii WEB - curs 36
![Page 37: Noţiuni elementare despre Internet · grup de instructiuni} Expresia expresie este evaluata la o valoare logica. Daca aceasta este true va fi executata secventa de cod grup, care](https://reader036.vdocuments.mx/reader036/viewer/2022070213/610f96780cbf3c14a77dedbd/html5/thumbnails/37.jpg)
Exemplu:<?php
for ($i=2; $i<10; $i++) {echo "Patratul lui ".$i." este " . $i*$i . " .<br />";
}?>
04.05.2017 Tehnologii WEB - curs 37
![Page 38: Noţiuni elementare despre Internet · grup de instructiuni} Expresia expresie este evaluata la o valoare logica. Daca aceasta este true va fi executata secventa de cod grup, care](https://reader036.vdocuments.mx/reader036/viewer/2022070213/610f96780cbf3c14a77dedbd/html5/thumbnails/38.jpg)
Alaturi de instructiunile repetitiveanalizate pana aici, in PHP este implementatasi instructiunea foreach, deosebit de utilapentru traversarea iterativa a tablourilorasociative sau nesecventiale (in ultimul caz nefiind posibila folosirea instructiunii for), dar si a celor indexate numeric.
04.05.2017 Tehnologii WEB - curs 38
![Page 39: Noţiuni elementare despre Internet · grup de instructiuni} Expresia expresie este evaluata la o valoare logica. Daca aceasta este true va fi executata secventa de cod grup, care](https://reader036.vdocuments.mx/reader036/viewer/2022070213/610f96780cbf3c14a77dedbd/html5/thumbnails/39.jpg)
Exemplu in care se utilizeaza instructiunea break, pe un singur nivel intr-un ciclu foreach:
<?php$tablou=array(1,2,3,4,5,6,7,8,9); foreach ($tablou as $element) {
if ($element>5) { break; }echo $element.", ";
}?>
Dupa executia scriptului, acesta va afisa 1, 2, 3, 4, 5.
04.05.2017 Tehnologii WEB - curs 39
![Page 40: Noţiuni elementare despre Internet · grup de instructiuni} Expresia expresie este evaluata la o valoare logica. Daca aceasta este true va fi executata secventa de cod grup, care](https://reader036.vdocuments.mx/reader036/viewer/2022070213/610f96780cbf3c14a77dedbd/html5/thumbnails/40.jpg)
Spre deosebire de break, instructiunea continue este folositain instructiunile repetitive pentru a intrerupe executiaiteratiei curente, continuandu-se cu urmatoarea.
Exemplu in care se utilizeaza instructiunea continue:< ?php
$tablou=array(1,2,3,4,5,6,7,8,9,0); foreach ($tablou as $element) {
if ($element > 4) { continue; }echo "Numarul ".$element." este mai mic decat 5;<br
/>"; }
?>Se afiseaza:Numarul 1 este mai mic decat 5;Numarul 2 este mai mic decat 5; Numarul 3 este mai mic decat 5;Numarul 4 este mai mic decat 5;
04.05.2017 Tehnologii WEB - curs 40
![Page 41: Noţiuni elementare despre Internet · grup de instructiuni} Expresia expresie este evaluata la o valoare logica. Daca aceasta este true va fi executata secventa de cod grup, care](https://reader036.vdocuments.mx/reader036/viewer/2022070213/610f96780cbf3c14a77dedbd/html5/thumbnails/41.jpg)
Curs 8
3. Funcţii3.1. Apelarea funcţiilor3.2. Funcţii definite de utilizator
3.2.1. Definirea funcţiilor3.2.2. Variabile automatice3.2.3. Funcţii care întorc valori3.2.4. Accesul la variabile declarate în exterior.
Variabile globale3.2.5. Funcţii recursive3.2.6. Terminarea execuţiei unui script
04.05.2017 Tehnologii WEB - curs 41
![Page 42: Noţiuni elementare despre Internet · grup de instructiuni} Expresia expresie este evaluata la o valoare logica. Daca aceasta este true va fi executata secventa de cod grup, care](https://reader036.vdocuments.mx/reader036/viewer/2022070213/610f96780cbf3c14a77dedbd/html5/thumbnails/42.jpg)
3. Funcţii
În PHP se pot crea funcţii fără prea maridiferenţe faţă de ce ştim din C/C++.
În programare, o funcţie include o secvenţă de cod, care realizează o anumită operaţie şi poate fi apelată în mod repetat, de câte ori este necesar.
Altfel spus, o funcţie constă dintr-un set de instrucţiuni care realizează o sarcină specifică.
04.05.2017 Tehnologii WEB - curs 42
![Page 43: Noţiuni elementare despre Internet · grup de instructiuni} Expresia expresie este evaluata la o valoare logica. Daca aceasta este true va fi executata secventa de cod grup, care](https://reader036.vdocuments.mx/reader036/viewer/2022070213/610f96780cbf3c14a77dedbd/html5/thumbnails/43.jpg)
Exemplu, un script in care se utilizeaza o functie
pentru calculul ariei unui triunghi si apoi afiseaza aria.
<?php
function aria_t($b, $h)
{ return $b*$h/2; }
$x=3;
$y=8;
echo (aria_t($x, $y));
?>
04.05.2017 Tehnologii WEB - curs 43
![Page 44: Noţiuni elementare despre Internet · grup de instructiuni} Expresia expresie este evaluata la o valoare logica. Daca aceasta este true va fi executata secventa de cod grup, care](https://reader036.vdocuments.mx/reader036/viewer/2022070213/610f96780cbf3c14a77dedbd/html5/thumbnails/44.jpg)
Definitiile functiilor PHP pot fi plasate oriunde in interiorul unui script, dar este preferabila plasarea la inceputul acestuia.
In scopul maririi gradului de reutilizare a functiilor, se poate folosi drept alternativa plasarea functiilor in fisiere distincte (avand extensia .php, .inc, etc.), urmand ca acestea sa fie incluse in scripturi prin intermediul instructiunilor PHP dedicate.
04.05.2017 Tehnologii WEB - curs 44
![Page 45: Noţiuni elementare despre Internet · grup de instructiuni} Expresia expresie este evaluata la o valoare logica. Daca aceasta este true va fi executata secventa de cod grup, care](https://reader036.vdocuments.mx/reader036/viewer/2022070213/610f96780cbf3c14a77dedbd/html5/thumbnails/45.jpg)
Curs 8
3. Funcţii3.1. Apelarea funcţiilor3.2. Funcţii definite de utilizator
3.2.1. Definirea funcţiilor3.2.2. Variabile automatice3.2.3. Funcţii care întorc valori3.2.4. Accesul la variabile declarate în exterior.
Variabile globale3.2.5. Funcţii recursive3.2.6. Terminarea execuţiei unui script
04.05.2017 Tehnologii WEB - curs 45
![Page 46: Noţiuni elementare despre Internet · grup de instructiuni} Expresia expresie este evaluata la o valoare logica. Daca aceasta este true va fi executata secventa de cod grup, care](https://reader036.vdocuments.mx/reader036/viewer/2022070213/610f96780cbf3c14a77dedbd/html5/thumbnails/46.jpg)
3.1. Apelarea funcţiilorForma generala a unui apel de funcţie este
urmatoarea:
nume_ functie (argument1, argument2, ...)
Analizand forma prezentata, se poate observa caapelul unei functii consta in apelarea numelui sau, urmat imediat de o lista de argumente actuale (sauparametri actuali), numarul acestora variind de la o functie la alta (argument1, argument2, ...).
Fiecare argument trebuie sa fie o expresie valida, care poate include si alte apeluri de functii.
04.05.2017 Tehnologii WEB - curs 46
![Page 47: Noţiuni elementare despre Internet · grup de instructiuni} Expresia expresie este evaluata la o valoare logica. Daca aceasta este true va fi executata secventa de cod grup, care](https://reader036.vdocuments.mx/reader036/viewer/2022070213/610f96780cbf3c14a77dedbd/html5/thumbnails/47.jpg)
Curs 8
3. Funcţii3.1. Apelarea funcţiilor3.2. Funcţii definite de utilizator
3.2.1. Definirea funcţiilor3.2.2. Variabile automatice3.2.3. Funcţii care întorc valori3.2.4. Accesul la variabile declarate în exterior.
Variabile globale3.2.5. Funcţii recursive3.2.6. Terminarea execuţiei unui script
04.05.2017 Tehnologii WEB - curs 47
![Page 48: Noţiuni elementare despre Internet · grup de instructiuni} Expresia expresie este evaluata la o valoare logica. Daca aceasta este true va fi executata secventa de cod grup, care](https://reader036.vdocuments.mx/reader036/viewer/2022070213/610f96780cbf3c14a77dedbd/html5/thumbnails/48.jpg)
3.2. Functii definite de utilizator
In ceea ce priveste modalitatile de creare, functiile PHPpot fi definite de utilizator sau predefinite.
3.2.1. Definirea functiilorPentru definirea unei functii in PHP se utilizeaza
urmatoarea sintaxa:
function nume_functie(argument1, argument2, ...) {
// Corpul functiei: lista de instructiuni }
04.05.2017 Tehnologii WEB - curs 48
![Page 49: Noţiuni elementare despre Internet · grup de instructiuni} Expresia expresie este evaluata la o valoare logica. Daca aceasta este true va fi executata secventa de cod grup, care](https://reader036.vdocuments.mx/reader036/viewer/2022070213/610f96780cbf3c14a77dedbd/html5/thumbnails/49.jpg)
Se observa ca definitia unei functii include urmatoarele parti:
1. numele functiei (nume_functie), precedat de cuvantul-cheie function;
2. lista de argumente formale (care poate sa fie si vida), inclusa intre doua paranteze rotunde (argument1, argument2, ...);
3. corpul functiei, care consta din orice secventa valida de cod, continuta in mod obligatoriu intre acolade, inclusiv definitiile altor functii sau ale unor clase.
04.05.2017 Tehnologii WEB - curs 49
![Page 50: Noţiuni elementare despre Internet · grup de instructiuni} Expresia expresie este evaluata la o valoare logica. Daca aceasta este true va fi executata secventa de cod grup, care](https://reader036.vdocuments.mx/reader036/viewer/2022070213/610f96780cbf3c14a77dedbd/html5/thumbnails/50.jpg)
Curs 8
3. Funcţii3.1. Apelarea funcţiilor3.2. Funcţii definite de utilizator
3.2.1. Definirea funcţiilor3.2.2. Variabile automatice3.2.3. Funcţii care întorc valori3.2.4. Accesul la variabile declarate în exterior.
Variabile globale3.2.5. Funcţii recursive3.2.6. Terminarea execuţiei unui script
04.05.2017 Tehnologii WEB - curs 50
![Page 51: Noţiuni elementare despre Internet · grup de instructiuni} Expresia expresie este evaluata la o valoare logica. Daca aceasta este true va fi executata secventa de cod grup, care](https://reader036.vdocuments.mx/reader036/viewer/2022070213/610f96780cbf3c14a77dedbd/html5/thumbnails/51.jpg)
3.2.2. Variabile automatice
Variabilele locale (utilizate in interiorul functiilor) sunt denumite si automatice, deoarece ele sunt create automat la inceputul executiei functiei si distruse, tot automat la sfarsit.
Din acest motiv, functiile vor “pierde” valorile variabilelor utilizate in interiorul lor.
04.05.2017 Tehnologii WEB - curs 51
![Page 52: Noţiuni elementare despre Internet · grup de instructiuni} Expresia expresie este evaluata la o valoare logica. Daca aceasta este true va fi executata secventa de cod grup, care](https://reader036.vdocuments.mx/reader036/viewer/2022070213/610f96780cbf3c14a77dedbd/html5/thumbnails/52.jpg)
Exemplu:
<?phpfunction bun_venit($utilizator) {
$mesaj="Bine ai venit, ".$utilizator; echo $mesaj;
}bun_venit ("Costica") ;echo $mesaj;
?>
In acest exemplu, incercarea de a afisa variabila locala $mesaj in exteriorul functiei bun_venit() se soldeaza cu un esec, aceasta fiind o variabila locala.
eroare
04.05.2017 Tehnologii WEB - curs 52
![Page 53: Noţiuni elementare despre Internet · grup de instructiuni} Expresia expresie este evaluata la o valoare logica. Daca aceasta este true va fi executata secventa de cod grup, care](https://reader036.vdocuments.mx/reader036/viewer/2022070213/610f96780cbf3c14a77dedbd/html5/thumbnails/53.jpg)
Curs 8
3. Funcţii3.1. Apelarea funcţiilor3.2. Funcţii definite de utilizator
3.2.1. Definirea funcţiilor3.2.2. Variabile automatice3.2.3. Funcţii care întorc valori3.2.4. Accesul la variabile declarate în exterior.
Variabile globale3.2.5. Funcţii recursive3.2.6. Terminarea execuţiei unui script
04.05.2017 Tehnologii WEB - curs 53
![Page 54: Noţiuni elementare despre Internet · grup de instructiuni} Expresia expresie este evaluata la o valoare logica. Daca aceasta este true va fi executata secventa de cod grup, care](https://reader036.vdocuments.mx/reader036/viewer/2022070213/610f96780cbf3c14a77dedbd/html5/thumbnails/54.jpg)
3.2.3. Functii care întorc valori
Functiile pot intoarce (sau returna) valori. Pentru a intoarce o valoare dintr-o functie, trebuie
realizat - in corpul sau - un apel al instructiunii return, acesta fiind urmata de o expresie valida:
return expresieApelul instructiunii return opreste imediat executia
functiei, intoarce expresia expresie si transferacontrolul executiei programului pe linia din care s-a realizat apelul.
Valorile intoarse pot avea orice tip, inclusiv tablou si obiect.
04.05.2017 Tehnologii WEB - curs 54
![Page 55: Noţiuni elementare despre Internet · grup de instructiuni} Expresia expresie este evaluata la o valoare logica. Daca aceasta este true va fi executata secventa de cod grup, care](https://reader036.vdocuments.mx/reader036/viewer/2022070213/610f96780cbf3c14a77dedbd/html5/thumbnails/55.jpg)
Exemplu: Fie o functie avand numele cub(), care intoarce
cubul numarului primit ca argument (adica, numarul ridicat la puterea a treia):
function cub($numar) {return $numar*$numar*$numar; }
Dupa ce a fost definita, o functie poate fi utilizataoriunde se doreste, inclusiv expresiile PHP, ca in exemplul urmator:
$numar=10;echo 'Cubul numarului ' .$numar.' este ' .cub($numar);04.05.2017 Tehnologii WEB - curs 55
![Page 56: Noţiuni elementare despre Internet · grup de instructiuni} Expresia expresie este evaluata la o valoare logica. Daca aceasta este true va fi executata secventa de cod grup, care](https://reader036.vdocuments.mx/reader036/viewer/2022070213/610f96780cbf3c14a77dedbd/html5/thumbnails/56.jpg)
[email protected] functiile nu pot intoarce simultan mai multe valori, se obtin rezultate similare daca se intorc tablouri, ca in exemplul urmator:
<?phpfunction note(){
return array (9, 8, 10); }list ($fizica, $matematica, $informatica)=note();echo "Nota la fizica: ".$fizica.";<br />";echo "Nota la matematica: ".$matematica.";<br />";echo "Nota la informatica: ".$informatica.".";
?>
04.05.2017 Tehnologii WEB - curs 56
![Page 57: Noţiuni elementare despre Internet · grup de instructiuni} Expresia expresie este evaluata la o valoare logica. Daca aceasta este true va fi executata secventa de cod grup, care](https://reader036.vdocuments.mx/reader036/viewer/2022070213/610f96780cbf3c14a77dedbd/html5/thumbnails/57.jpg)
Argumentele pot fi transferate functiilor prin valoare si prin referinta.
1. Transferul argumentelor prin valoare
In cazul transferului prin valoare, expresia transmisa ca argument este evaluata, iar valoarea obtinuta este atribuita in corpul functiei variabilei cu acelasi nume.
Este posibil ca argumentele transferate prin valoare functiilor sa fie si tablouri, ca in exemplul prezentat in continuare, in care functia suma_elemente() intoarce suma elementelor tabloului transferat ca argument:
04.05.2017 Tehnologii WEB - curs 57
![Page 58: Noţiuni elementare despre Internet · grup de instructiuni} Expresia expresie este evaluata la o valoare logica. Daca aceasta este true va fi executata secventa de cod grup, care](https://reader036.vdocuments.mx/reader036/viewer/2022070213/610f96780cbf3c14a77dedbd/html5/thumbnails/58.jpg)
<?phpfunction suma_elemente($tablou) {
$nrelem=count($tablou); $sumaelem=0; for($i=0; $i< $nrelem;$i++) {
$sumaelem += $tablou[$i]; } return $sumaelem;
}echo "Suma elementelor tabloului este ".suma_elemente(array(10,5,12));?>
04.05.2017 Tehnologii WEB - curs 58
![Page 59: Noţiuni elementare despre Internet · grup de instructiuni} Expresia expresie este evaluata la o valoare logica. Daca aceasta este true va fi executata secventa de cod grup, care](https://reader036.vdocuments.mx/reader036/viewer/2022070213/610f96780cbf3c14a77dedbd/html5/thumbnails/59.jpg)
2. Transferul argumentelor prin referinta
Aceasta modalitate de transfer impune caargumentul functiei sa fie o variabila.
In loc sa se refere la copia valorii variabilei transmise, variabila corespunzatoare din functie se refera chiarla valoarea variabilei respective, de fiecare data candeste utilizata.
Drept rezultat, functia va schimba chiar valoareavariabilei transferata.
Exemplu in care este folosita aceasta modalitate de transfer:
04.05.2017 Tehnologii WEB - curs 59
![Page 60: Noţiuni elementare despre Internet · grup de instructiuni} Expresia expresie este evaluata la o valoare logica. Daca aceasta este true va fi executata secventa de cod grup, care](https://reader036.vdocuments.mx/reader036/viewer/2022070213/610f96780cbf3c14a77dedbd/html5/thumbnails/60.jpg)
<?phpfunction cub(&$numar) {
$numar=$numar*$numar*$numar;}$n=4;cub($n);echo $n;
?>
Transmitere prinreferinta – adresa
variabilei
04.05.2017 Tehnologii WEB - curs 60
![Page 61: Noţiuni elementare despre Internet · grup de instructiuni} Expresia expresie este evaluata la o valoare logica. Daca aceasta este true va fi executata secventa de cod grup, care](https://reader036.vdocuments.mx/reader036/viewer/2022070213/610f96780cbf3c14a77dedbd/html5/thumbnails/61.jpg)
Curs 8
3. Funcţii3.1. Apelarea funcţiilor3.2. Funcţii definite de utilizator
3.2.1. Definirea funcţiilor3.2.2. Variabile automatice3.2.3. Funcţii care întorc valori3.2.4. Accesul la variabile declarate în exterior.
Variabile globale3.2.5. Funcţii recursive3.2.6. Terminarea execuţiei unui script
04.05.2017 Tehnologii WEB - curs 61
![Page 62: Noţiuni elementare despre Internet · grup de instructiuni} Expresia expresie este evaluata la o valoare logica. Daca aceasta este true va fi executata secventa de cod grup, care](https://reader036.vdocuments.mx/reader036/viewer/2022070213/610f96780cbf3c14a77dedbd/html5/thumbnails/62.jpg)
3.2.4. Accesul la variabile declarate in exterior. Variabile globale
Fiecare functie are propriul ei set de variabile (argumentele si/sau cele definite in corpul sau).
Toate variabilele utilizate in exteriorul oricarei functiii (cu exceptia variabilelor superglobale) nu sunt vizibile in interiorul acesteia, ceea ce inseamna ca ele nu sunt globale.
04.05.2017 Tehnologii WEB - curs 62
![Page 63: Noţiuni elementare despre Internet · grup de instructiuni} Expresia expresie este evaluata la o valoare logica. Daca aceasta este true va fi executata secventa de cod grup, care](https://reader036.vdocuments.mx/reader036/viewer/2022070213/610f96780cbf3c14a77dedbd/html5/thumbnails/63.jpg)
Daca se doreste accesarea in interiorul functiei a unei variabilefolosite in exteriorul sau, trebuie folosit tabloul $GLOBALS, ca in exemplul urmator:
<?phpfunction modifica()
{ $GLOBALS["variabila"]=100; } $variabila=50;echo $variabila; modifica(); echo " ".$variabila;
?>
04.05.2017 Tehnologii WEB - curs 63
![Page 64: Noţiuni elementare despre Internet · grup de instructiuni} Expresia expresie este evaluata la o valoare logica. Daca aceasta este true va fi executata secventa de cod grup, care](https://reader036.vdocuments.mx/reader036/viewer/2022070213/610f96780cbf3c14a77dedbd/html5/thumbnails/64.jpg)
De asemenea, este posibil ca una sau mai multe variabile sa poata fi declarate globale, prin extinderea domeniului lor de vizibilitate utilizand cuvantul-cheie global:
[global] $variabila1, $variabila2, ...
Variabilele declarate globale (adica, in exteriorul oricarei functii) pot fi utilizate peste tot in script, inclusiv in definitiile functiilor.
In scopul precizat, este necesar ce ele sa fie “importate” in interiorul functiilor folosind cuvantul cheie global, ca exemplul prezentat in continuare:
04.05.2017 Tehnologii WEB - curs 64
![Page 65: Noţiuni elementare despre Internet · grup de instructiuni} Expresia expresie este evaluata la o valoare logica. Daca aceasta este true va fi executata secventa de cod grup, care](https://reader036.vdocuments.mx/reader036/viewer/2022070213/610f96780cbf3c14a77dedbd/html5/thumbnails/65.jpg)
<?phpfunction modifica(){
global $variabila; $variabila=10;echo $variabila;
}modifica();$variabila=20;echo " ".$variabila;
?>
04.05.2017 Tehnologii WEB - curs 65
![Page 66: Noţiuni elementare despre Internet · grup de instructiuni} Expresia expresie este evaluata la o valoare logica. Daca aceasta este true va fi executata secventa de cod grup, care](https://reader036.vdocuments.mx/reader036/viewer/2022070213/610f96780cbf3c14a77dedbd/html5/thumbnails/66.jpg)
Se poate considera ca folosirea variabilelor declarate globale simplifica activitatea de programare, eliminand partial necesitatea utilizarii argumentelor in definitiile functiilor.
Cu toate acestea, posibilitatea modificarii variabilelor in orice punct al scriptului, inclusiv in interiorul functiilor, poate avea drept consecinta scrierea unui cod dificil de inteles de catre cei care il citesc.
In locul variabilelor declarate globale, este de preferat folosirea variabilelor locale, functiile urmand sa modifice numai acele variabile care le sunt transmise ca argumente prin referinta.
04.05.2017 Tehnologii WEB - curs 66
![Page 67: Noţiuni elementare despre Internet · grup de instructiuni} Expresia expresie este evaluata la o valoare logica. Daca aceasta este true va fi executata secventa de cod grup, care](https://reader036.vdocuments.mx/reader036/viewer/2022070213/610f96780cbf3c14a77dedbd/html5/thumbnails/67.jpg)
Curs 8
3. Funcţii3.1. Apelarea funcţiilor3.2. Funcţii definite de utilizator
3.2.1. Definirea funcţiilor3.2.2. Variabile automatice3.2.3. Funcţii care întorc valori3.2.4. Accesul la variabile declarate în exterior.
Variabile globale3.2.5. Funcţii recursive3.2.6. Terminarea execuţiei unui script
04.05.2017 Tehnologii WEB - curs 67
![Page 68: Noţiuni elementare despre Internet · grup de instructiuni} Expresia expresie este evaluata la o valoare logica. Daca aceasta este true va fi executata secventa de cod grup, care](https://reader036.vdocuments.mx/reader036/viewer/2022070213/610f96780cbf3c14a77dedbd/html5/thumbnails/68.jpg)
3.2.5. Functii recursive
Ca si in alte limbaje de programare, in PHP pot fi definite si utilizate functiile recursive.
Se spune ca o functie care se apeleaza pe ea insasi este o functie recursiva, metoda numindu-se recursivitate.
Ca si intr-o structura ciclica, intr-o functie recursiva trebuie precizata o conditie de incheiere a executiei.
Daca o functie se autoapeleaza direct, se spune ca se produce recursivitatea directa.
In schimb, daca o functie se apeleaza pe ea insasi, prin intermediul altei functii, se spune ca se produce recursivitatea indirecta.
In mod obisnuit, este utilizata recursivitatea directa.04.05.2017 Tehnologii WEB - curs 68
![Page 69: Noţiuni elementare despre Internet · grup de instructiuni} Expresia expresie este evaluata la o valoare logica. Daca aceasta este true va fi executata secventa de cod grup, care](https://reader036.vdocuments.mx/reader036/viewer/2022070213/610f96780cbf3c14a77dedbd/html5/thumbnails/69.jpg)
In exemplul urmator este prezentata o functie (factorial ()) in care se utilizeaza recursivitatea directa:
<?phpfunction factorial($n) {
if($n==1)return 1;
elsereturn $n*factorial($n-1);
}echo "Factorial = ".factorial(5);
?>
04.05.2017 Tehnologii WEB - curs 69
![Page 70: Noţiuni elementare despre Internet · grup de instructiuni} Expresia expresie este evaluata la o valoare logica. Daca aceasta este true va fi executata secventa de cod grup, care](https://reader036.vdocuments.mx/reader036/viewer/2022070213/610f96780cbf3c14a77dedbd/html5/thumbnails/70.jpg)
Curs 8
3. Funcţii3.1. Apelarea funcţiilor3.2. Funcţii definite de utilizator
3.2.1. Definirea funcţiilor3.2.2. Variabile automatice3.2.3. Funcţii care întorc valori3.2.4. Accesul la variabile declarate în exterior.
Variabile globale3.2.5. Funcţii recursive3.2.6. Terminarea execuţiei unui script
04.05.2017 Tehnologii WEB - curs 70
![Page 71: Noţiuni elementare despre Internet · grup de instructiuni} Expresia expresie este evaluata la o valoare logica. Daca aceasta este true va fi executata secventa de cod grup, care](https://reader036.vdocuments.mx/reader036/viewer/2022070213/610f96780cbf3c14a77dedbd/html5/thumbnails/71.jpg)
3.2.6. Terminarea executiei unui scriptO instructiune return determina sistarea
executiei functiei care o contine. In cazul în care se doreste sistarea prelucrarii
unui întreg script, se poate invoca functia exit():
<?php function stop() {
exit(); } echo "<br />Unu..."; echo "<br />Doi..."; stop();
echo "<br />Trei..."; ?>04.05.2017 Tehnologii WEB - curs 71
![Page 72: Noţiuni elementare despre Internet · grup de instructiuni} Expresia expresie este evaluata la o valoare logica. Daca aceasta este true va fi executata secventa de cod grup, care](https://reader036.vdocuments.mx/reader036/viewer/2022070213/610f96780cbf3c14a77dedbd/html5/thumbnails/72.jpg)
Dupa executie scriptul afiseaza: Unu... Doi...
Rezultatul acestui script include cuvintele "Unu" si "Doi", dar nu si cuvântul "Trei".
Prin apelarea functiei "stop()" se executa corpul functiei respective; la invocarea functiei, exit(), executia scriptului se încheie.
04.05.2017 Tehnologii WEB - curs 72
![Page 73: Noţiuni elementare despre Internet · grup de instructiuni} Expresia expresie este evaluata la o valoare logica. Daca aceasta este true va fi executata secventa de cod grup, care](https://reader036.vdocuments.mx/reader036/viewer/2022070213/610f96780cbf3c14a77dedbd/html5/thumbnails/73.jpg)
Bibliografie: Adrian Runceanu, Mihaela Runceanu, Tehnologii si aplicatii web – îndrumar de laborator, Editura Academica Brâncuşi, Târgu-Jiu, 2009, ISBN 978-973-144-302-7
Întrebări?
04.05.2017 Tehnologii WEB - curs 73