Documente Academic
Documente Profesional
Documente Cultură
Facultatea de Inginerie
Departamentul de Automatic, Energie i Mediu
Tehnologii Web
Curs 8
Limbajul PHP
(partea II)
2
Curs 8
1. Instruciuni conditionale
1.1. Instruciunea if
1.2. Instruciunea switch
1.3. Instruciuni pentru controlul execuiei iteraiilor
2. Instruciuni repetitive
2.1. Instruciunea while
2.2. Instruciunea do while
2.3. Instruciunea for
3
Tehnologii WEB
Curs 8
3. Funcii
3.1. Apelarea funciilor
3.2. Funcii definite de utilizator
3.2.1. Definirea funciilor
3.2.2. Variabile automatice
3.2.3. Funcii care ntorc valori
3.2.4. Accesul la variabile declarate n exterior.
Variabile globale
3.2.5. Funcii recursive
3.2.6. Terminarea execuiei unui script
4
Tehnologii WEB
1. Instruciuni(I)
tim
Pe
5
Tehnologii WEB
1. Instruciuni(II)
1. Instruciuni condiionale
2.
if
switch
Curs 8
1. Instruciuni conditionale
1.1 Instruciunea if
1.2. Instruciunea switch
1.3. Instruciuni pentru controlul execuiei iteraiilor
2. Instruciuni repetitive
2.1. Instruciunea while
2.2. Instruciunea do while
2.3. Instruciunea for
8
Tehnologii WEB
1.1. Instructiunea if
Cea 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.
9
Tehnologii WEB
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";
}
10
Tehnologii WEB
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.
11
Tehnologii WEB
Exemplu:
Daca o valoare este in intervalul [1, 2], se
transmite catre browser valoarea (x+1)/2, altfel se
transmite valoarea (x-1)/2:
<?php
if($x>=1 && $x<=2)
$v=($x+1)/2;
else
$v=($x-1)/2;
echo ($v);
?>
12
Tehnologii WEB
Instructiunea
13
Tehnologii WEB
<?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";
?>
14
Tehnologii WEB
Cnd
15
Tehnologii WEB
Curs 8
1. Instruciuni conditionale
1.1. Instruciunea if
1.2. Instruciunea switch
1.3. Instruciuni pentru controlul execuiei iteraiilor
2. Instruciuni repetitive
2.1. Instruciunea while
2.2. Instruciunea do while
2.3. Instruciunea for
17
Tehnologii WEB
switch (expresie){
case expresie1: grup1; break;
case expresie2: grup2; break;
.....
[default: grup;]
}
Expresia expresie este comparata cu expresie1,
expresie2, .
18
Tehnologii WEB
Daca
Grupul
19
Tehnologii WEB
Exemplu:
Daca valoarea transmisa pentru x este 1,2,3,4, atunci
valoarea respectiva este retransmisa catre utilizator
alfabetic, altfel, se va transmite un mesaj oarecare:
<?php
switch($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");
}
?>
20
Tehnologii WEB
Curs 8
1. Instruciuni conditionale
1.1. Instruciunea if
1.2. Instruciunea switch
1.3. Instruciuni pentru controlul execuiei iteraiilor
2. Instruciuni repetitive
2.1. Instruciunea while
2.2. Instruciunea do while
2.3. Instruciunea for
21
Tehnologii WEB
Instructiunea
22
Tehnologii WEB
23
Tehnologii WEB
Curs 8
1. Instruciuni conditionale
1.1. Instruciunea if
1.2. Instruciunea switch
1.3. Instruciuni pentru controlul execuiei iteraiilor
2. Instruciuni repetitive
2.1. Instruciunea while
2.2. Instruciunea do while
2.3. Instruciunea for
24
Tehnologii WEB
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,
iteraie sau bucl (loop).
25
Tehnologii WEB
Curs 8
1. Instruciuni conditionale
1.1. Instruciunea if
1.2. Instruciunea switch
1.3. Instruciuni pentru controlul execuiei iteraiilor
2. Instruciuni repetitive
2.1. Instruciunea while
2.2. Instruciunea do while
2.3. Instruciunea for
26
Tehnologii WEB
while (expresie)
{
grup instructiuni
}
27
Tehnologii WEB
Evaluarea
Acoladele
28
Tehnologii WEB
Exemplu:
Se calculeaza suma:
<?php
$s=0; $i=1;
while($i <= 5)
{
$s+=$i + $i;
$i++;
}
echo ($s);
?>
29
Tehnologii WEB
Curs 8
1. Instruciuni conditionale
1.1. Instruciunea if
1.2. Instruciunea switch
1.3. Instruciuni pentru controlul execuiei iteraiilor
2. Instruciuni repetitive
2.1. Instruciunea while
2.2. Instruciunea do while
2.3. Instruciunea for
30
Tehnologii WEB
do
{
grup instructiuni
} while (expresie);
31
Tehnologii WEB
Instructiunea
Acoladele
32
Tehnologii WEB
Exemplu:
Se calculeaza suma:
<?php
$s=0; $i=1;
do
{
$s += $i + $i;
$i++;
}while($i <= 5);
echo ($s);
?>
33
Tehnologii WEB
Curs 8
1. Instruciuni conditionale
1.1. Instruciunea if
1.2. Instruciunea switch
1.3. Instruciuni pentru controlul execuiei iteraiilor
2. Instruciuni repetitive
2.1. Instruciunea while
2.2. Instruciunea do while
2.3. Instruciunea for
34
Tehnologii WEB
36
Tehnologii WEB
Exemplu:
<?php
for ($i=2; $i<10; $i++) {
echo "Patratul lui ".$i." este " . $i*$i . " .<br />";
}
?>
37
Tehnologii WEB
38
Tehnologii WEB
39
Tehnologii WEB
40
Tehnologii WEB
Curs 8
3. Funcii
3.1. Apelarea funciilor
3.2. Funcii definite de utilizator
3.2.1. Definirea funciilor
3.2.2. Variabile automatice
3.2.3. Funcii care ntorc valori
3.2.4. Accesul la variabile declarate n exterior.
Variabile globale
3.2.5. Funcii recursive
3.2.6. Terminarea execuiei unui script
41
Tehnologii WEB
3. Funcii
n
<?php
function aria_t($b, $h)
{
return $b*$h/2; }
$x=3;
$y=8;
echo (aria_t($x, $y));
?>
43
Tehnologii WEB
44
Tehnologii WEB
Curs 8
3. Funcii
3.1. Apelarea funciilor
3.2. Funcii definite de utilizator
3.2.1. Definirea funciilor
3.2.2. Variabile automatice
3.2.3. Funcii care ntorc valori
3.2.4. Accesul la variabile declarate n exterior.
Variabile globale
3.2.5. Funcii recursive
3.2.6. Terminarea execuiei unui script
45
Tehnologii WEB
46
Tehnologii WEB
Curs 8
3. Funcii
3.1. Apelarea funciilor
3.2. Funcii definite de utilizator
3.2.1. Definirea funciilor
3.2.2. Variabile automatice
3.2.3. Funcii care ntorc valori
3.2.4. Accesul la variabile declarate n exterior.
Variabile globale
3.2.5. Funcii recursive
3.2.6. Terminarea execuiei unui script
47
Tehnologii WEB
2.
3.
49
Tehnologii WEB
Curs 8
3. Funcii
3.1. Apelarea funciilor
3.2. Funcii definite de utilizator
3.2.1. Definirea funciilor
3.2.2. Variabile automatice
3.2.3. Funcii care ntorc valori
3.2.4. Accesul la variabile declarate n exterior.
Variabile globale
3.2.5. Funcii recursive
3.2.6. Terminarea execuiei unui script
50
Tehnologii WEB
51
Tehnologii WEB
Exemplu:
<?php
function bun_venit($utilizator) {
$mesaj="Bine ai venit, ".$utilizator;
echo $mesaj;
}
bun_venit ("Costica") ;
echo $mesaj;
eroare
?>
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.
52
Tehnologii WEB
Curs 8
3. Funcii
3.1. Apelarea funciilor
3.2. Funcii definite de utilizator
3.2.1. Definirea funciilor
3.2.2. Variabile automatice
3.2.3. Funcii care ntorc valori
3.2.4. Accesul la variabile declarate n exterior.
Variabile globale
3.2.5. Funcii recursive
3.2.6. Terminarea execuiei unui script
53
Tehnologii WEB
return expresie
Apelul instructiunii return opreste imediat executia
functiei, intoarce expresia expresie si transfera controlul
executiei programului pe linia din care s-a realizat apelul.
Valorile intoarse pot avea orice tip, inclusiv tablou si
obiect.
54
Tehnologii WEB
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 utilizata
oriunde se doreste, inclusiv expresiile PHP, ca in
exemplul urmator:
$numar=10;
echo 'Cubul numarului ' .$numar.' este ' .cub($numar);
55
Tehnologii WEB
<?php
function 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.".";
?>
56
Tehnologii WEB
57
Tehnologii WEB
<?php
function 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));
?>
58
Tehnologii WEB
Transmitere prin
<?php
referinta adresa
function cub(&$numar) {
variabilei
$numar=$numar*$numar*$numar;
}
$n=4;
cub($n);
echo $n;
?>
60
Tehnologii WEB
Curs 8
3. Funcii
3.1. Apelarea funciilor
3.2. Funcii definite de utilizator
3.2.1. Definirea funciilor
3.2.2. Variabile automatice
3.2.3. Funcii care ntorc valori
3.2.4. Accesul la variabile declarate n exterior.
Variabile globale
3.2.5. Funcii recursive
3.2.6. Terminarea execuiei unui script
61
Tehnologii WEB
62
Tehnologii WEB
63
Tehnologii WEB
64
Tehnologii WEB
<?php
function modifica(){
global $variabila;
$variabila=10;
echo $variabila;
}
modifica();
$variabila=20;
echo " ".$variabila;
?>
65
Tehnologii WEB
66
Tehnologii WEB
Curs 8
3. Funcii
3.1. Apelarea funciilor
3.2. Funcii definite de utilizator
3.2.1. Definirea funciilor
3.2.2. Variabile automatice
3.2.3. Funcii care ntorc valori
3.2.4. Accesul la variabile declarate n exterior.
Variabile globale
3.2.5. Funcii recursive
3.2.6. Terminarea execuiei unui script
67
Tehnologii WEB
68
Tehnologii WEB
69
Tehnologii WEB
Curs 8
3. Funcii
3.1. Apelarea funciilor
3.2. Funcii definite de utilizator
3.2.1. Definirea funciilor
3.2.2. Variabile automatice
3.2.3. Funcii care ntorc valori
3.2.4. Accesul la variabile declarate n exterior.
Variabile globale
3.2.5. Funcii recursive
3.2.6. Terminarea execuiei unui script
70
Tehnologii WEB
72
Tehnologii WEB
ntrebri?
73