Sunteți pe pagina 1din 26

1

Utilizarea tablourilor în PHP


Crearea unui tablou
2

Crearea unui tablou se poate face prin:


 atribuirea unei valori pentru o variabilă din tablou;

 invocarea funcţiei array().


Crearea unui tablou prin atribuire
3

$limbaje[] = „C”; $limbaje[0] = „C”;


$limbaje[] = „PHP”; $limbaje[1] = „PHP”;
$limbaje[] =”Pascal”; $limbaje[] =”Pascal”;

$limbaje[“PHP”] = „Ridicat”;
$limbaje[“Pascal”]=„Mediu”;
$limbaje[“C”] =”Redus”;
Crearea unui tablou prin funcţia array()
4

$limbaje=array(10=>„C”, „PHP”, „Pascal”);

$limbaje=array(„PHP”=>„Ridicat”,”Pascal” =>„Mediu”, ”C”=>”Redus”);


Crearea unui tablou multi-dimensional
5

$date["PHP"] = array("simplu", "popular");


$date[“Pascal"] = array(“dificil", "nepopular");
$date[“C"] = array(“simplu", "popular");

$date= array("PHP"=>array("simplu","popular"),
"Pascal"=>array("dificil","nepopular"),
"C"=>array("dificil", "popular"));
Parcurgerea unui tablou
6

 se poate face prin precizarea numelui tabloului şi a cheii


aferente valorii;
$y = 3 * $x[1];
 se parcurge secvenţial tabloul cu ajutorul instrucţiunii for;

<?php
$limbaje = array(0=>"C", 1=>"PHP", 2 =>"Pascal");
$limita = count($limbaje);
for ($i = 0; $i < $limita; $i++)
{
echo "<BR>".$i."=>".$limbaje[$i];
}
?>
Precizarea unui element dintr-un tablou multi-
dimensional
7

<?php
$a = array(array(2, 5), array(1, 4), array(4,5));
$b = $a[1][1] + $a[2][0];
echo $b;
?>
Afişarea unui caracter dintr-un şir de
caractere
8

 pentru afişarea unui caracter din cadrul unui şir de


caractere se va folosi următoarea formă:
$b=$var{pozitie}

<?php
$a = 'Programare WEB';
$b = $a{11};
echo $b;
?>
9

Utilizarea funcţiilor în PHP


Definirea unei funcţii
10

function nume_functie(nume_argument)
// aici se insereaza corpul functiei

 Numele funcţiei este case-sensitive


function calculeaza_arie($inaltime,$latime)

return $inaltime * $latime;

Funcţia va întoarce o valoare
Apelarea unei funcţii
11

 apelarea funcţiei se face prin specificarea numelui funcţiei


şi a argumentelor
$arie = calculeaza_arie(2,4);
 pentru a nu mai afişa mesajele de avertizare se va folosi
simbolul @.
Definirea funcţiilor cu argumente prestabilite
12

<?php
function impozit_vanzari($cantitate ,$rata = 0.0725)
{ echo "<BR>cantitate=".$cantitate;
echo "<BR>rata=".$rata;
return $cantitate*$rata;}

$cumparaturi = 123.45;
echo "<BR>cumparaturi = ".$cumparaturi;
$impozit = impozit_vanzari($cumparaturi,0.08);
echo "<BR>impozit = ".$impozit;
echo "<BR>";
$cumparaturi = 123.45;
echo "<BR>cumparaturi = ".$cumparaturi;
$impozit = impozit_vanzari($cumparaturi);
echo "<BR>impozit = ".$impozit;
?>
Variabile şi referinţe
13

Limbajul PHP foloseşte două tipuri de variabile:


 globale-sunt declarate în afara funcţiilor. Domeniul de
existenţă a unei variabile globale nu include şi corpul
funcţiei. Pentru a putea fi folosită inclusiv în corpul acesteia
se va folosi instrucţiunea GLOBAL.
GLOBAL $var1, $var2, $var3;
 locale-sunt create în interiorul funcţiei şi sunt distruse atunci

când se termină execuţia funcţiei.


 statice-valoarea unei variabile locale se păstrează de la o

apelare la alta a funcţiei.


STATIC $var1, $var2, $var3;
Exemplu variabilă globală - greşit
14

<?php
$pret= 13.5;
$cantitate= 250;
function cumpara()
{ return $pret * $cantitate;}
echo "Suma pe care trebuie sa o platiti este ".
cumpara();
?>
Exemplu variabilă globală - bun
15

<?php
$pret= 13.5;
$cantitate= 250;
function cumpara()
{ GLOBAL $pret, $cantitate;
return $pret * $cantitate;}
echo "Suma pe care trebuie sa o platiti este ".
cumpara();
?>
Exemplu variabile locale
16

<?php
function local()
{ $x = 5;
echo "<br>In corpul functiei x = ".$x;
}
$x = 2;
echo "<br>In rest x = ".$x;
local();
echo "<br>In rest x = ".$x;
?>
Exemplu variabilă statică
17

<?php
function locala() {$x=0;
$x = $x + 1;
echo "<br> x = ".$x;}
function statica()
{ STATIC $x;
$x = $x + 1;
echo "<br> x = ".$x;}
locala();
locala();
echo "<br>";
statica();
statica();
?>
Utilizarea referinţelor 1
18

 Operatorul referinţă modifică valoarea variabilei după


ultima modificare.
<?php
$a = 'Disciplina';
$b = &$a;
echo 'Valoarea variabilei $a este '.$a.'<br>';
echo 'Valoarea variabilei $b este '.$b.'<br>';
$b='Programare Web';
echo 'Variabila $b are valoarea Programare Web';
echo '<br>Valoarea variabilei $a este '.$a;
?>
Utilizarea referinţelor 2
19

 Operatorul referinţă dacă se foloseşte la definirea funcţie,


atunci se va folosi şi la atribuirea valorii.
<?php
function &refer ( )
{global $s;
return $s;}
$s = "Continut 1";
$z = &$s;
$z='Continut 2';
$y=&refer();
echo $y;?>
Funcţii
20

 isset($variabila)-verifică dacă variabila a fost setată sau


nu
 current($tablou)-returnează valoarea curentă a tabloului
 next($tablou)-valoarea următorului element al tabloului
 prev($tablou)-valoarea elementului anterior
 key($tablou)-întoarce cheia valorii curente
 explode(“delimitator”,$sir)-transformă un şir într-o matrice
 list($var1,$var2)-atribuie variabile cum acestea ar fi
tablouri
 implode(“delimitator”,$tablou)-transformă matricea într-un
şir de caractere
ISSET
21

<?php
if(isset($_POST['adresa']='a'))
{echo 'Mesaj';}
else
{echo 'Mesaj 1';}
?>
Current, next, prev
22

Fie tabloul: 10 a c
f 34 abc
def 435 1ad
Care va fi rezultatul execuţiei secvenţei:
<?php
$matrice=array(array(10,'a','c'),array('f',34,'abc'),array('def',43, '1ad'));
$prim_element=current($matrice[0]);
$urmat_element=next($matrice[2]);
$anterior_element=prev($matrice[2]);
echo 'Primul element este: '.$prim_element.'<br>';
echo 'Urmatorul element este: '.$urmat_element.'<br>';
echo 'Elementul anterior este: '.$anterior_element.'<br>';
?>
EXPLODE
23

 Fie şirul format din seria şi numărul facturii(GL-567).


 Să se păstreze în variabila serie_factura seria
facturii şi în nr_factura numărul facturii.
24

<?php
$factura='GL-567';
$separare=explode('-',$factura);
$serie_factura=$separare[0];
$nr_factura=$separare[1];
echo 'Seria facturii este '.$serie_factura.' si numarul este '.$nr_factura;?>

<?php
$factura='GLX-56567';
list($serie_factura,$nr_factura)=explode('-',$factura);
echo 'Seria facturii este '.$serie_factura.' si numarul este '.$nr_factura;
?>
IMPLODE
25

 Fie seria unei facturi identificată prin variabila


serie_f şi numărul facturii identificat prin variabila
nr_f
 Să se concateneze cele două variabile într-una
singură şi separatorul dintre acestea să fie spaţiul
26

<?php
$serie_f='GLX';
$nr_f=456;
$factura=$serie_f.' '.$nr_f;
echo 'Factura are seria si numarul '.$factura;
?>

<?php
$serie_f='GL';
$nr_f=45786;
$matrice_factura=array($serie_f,$nr_f);
$factura=implode(' ',$matrice_factura);
echo 'Factura are seria si numarul '.$factura;
?>