Sunteți pe pagina 1din 26

1

Utilizarea tablourilor n PHP

Crearea unui tablou


2

Crearea unui tablou se poate realiza prin:


atribuirea unei valori pentru o variabil din tablou;
invocarea funciei array().

Crearea unui tablou prin atribuire


3

$limbaje[] = C;
$limbaje[] = PHP;
$limbaje[] =Pascal;
$limbaje[PHP] = Ridicat;
$limbaje[Pascal]=Mediu;
$limbaje[C] =Redus;

$limbaje[0] = C;
$limbaje[1] = PHP;
$limbaje[] =Pascal;

Crearea unui tablou prin funcia


array()
4

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


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

$a=array("litera a","litera b","litera c");

Afiarea vectorului se va face cu ajutorul funciei


print_r($nume_vector)

Crearea unui tablou multidimensional


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 secvenial tabloul cu ajutorul instruciunii
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;
?>

Afiarea unui caracter dintr-un ir de


caractere
8

pentru afiarea unui caracter din cadrul unui ir de


caractere se va folosi urmtoarea form:
$b=$var{pozitie}

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

Funcii pentru lucru cu vectori


9

count($nume_vector[,mod]) numr elementele vectorului;

sizeof($nume_vector) numr elementele vectorului;

list($lista_variabile) atribuie valori listei de variabile;

reset($nume_vector) se poziioneaz la nceputul vectorului;

end($nume_vector) se poziioneaz la sfritul vectorului;

next($nume_vector) trece pe urmtoarea poziie a vectorului;

prev($nume_vector) trece pe poziia anterioar a vectorului;

current($nume_vector) ntoarce elementul curent a vectorului;

key($nume_vector) ntoarce cheia poziiei curente;

array_push($vector_existent, "lista valori") adaug la sfrit noile valori;

array_unshift($vector_existent, "lista valori") adaug la nceput noile valori;

array_pop($vector) elimin ultimul element al vectorului;

array_shift($vector) elimin primul element al vectorului;

array_merge($v1,$v2,) combin mai muli vectori n unul singur;

array_pad($v1,lungime,valoare)umple vectorul cu valori pn la lungimea precizat

Exemplu pentru lucrul cu vectori


10

<?php
$a=array("litera a","litera b");
$b=array("1","2");
$c=array_merge($a,$b);
list($litera1,$litera2,$cifra1,$cifra2)=$c;
$elemente=count($c);
$pozitie=$elemente-2;
$deplasare_dreapta=next($c);
$cheia=key($c);
array_shift($a);

array_push($a,"litera c","litera d");


$d=array_pad($c,6,"adaugat");
$e= array_pad($c,-5,"adaugat");
$f= array_pad($c,3,"adaugat");

?>

11

Utilizarea funciilor n PHP

Definirea unei funcii


12

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

Numele funciei nu este case-sensitive

function calculeaza_arie($inaltime,$latime)

return $inaltime * $latime;

Funcia va ntoarce o valoare i va opri execuia


funciei

Apelarea unei funcii


13

apelarea funciei se face prin specificarea numelui


funciei i a argumentelor $arie = calculeaza_arie(2,4);
Functia call_user_func(nume_functie)
pentru a nu mai afia mesajele de avertizare se va
folosi simbolul @.
<?php
function calcul($a,$b)

{return $a+$b;}
echo @calcul(7);
?>

Definirea funciilor cu argumente prestabilite


14

<?php
function impozit_vanzari($cantitate ,$rata = 0.0725)
{ echo "<BR>cantitate=".$cantitate;
Valorile implicite se
echo "<BR>rata=".$rata;
plaseaz n dreapta
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 = ".round($impozit);
?>

Exemplu de funcie cu argument de tip tablou


15

<?php
$vector=array(1,2,3,4);
function adunare_elemente_vector($elemente)
{$suma=0;
$dimensiune=count($elemente);
for($i=0;$i<$dimensiune;$i++)
$suma=$suma+$elemente[$i];
return $suma;}
echo "Suma elementelor vectorului este
".adunare_elemente_vector($vector);?>

Funcii recursive
16

<?php
function suma($a,$b)
{return $a+$b;}
function produs($a)
{return $a*$a;}
function binom($a,$b)
{return produs(suma($a,$b));}
echo binom(2,3);
?>

Variabile i referine
17

Limbajul PHP folosete dou tipuri de variabile:


globale-sunt declarate n afara funciilor. Domeniul de
existen a unei variabile globale nu include i corpul
funciei. Pentru a putea fi folosit inclusiv n corpul
acesteia se va folosi instruciunea GLOBAL.
GLOBAL $var1, $var2, $var3;
locale-sunt create n interiorul funciei i sunt distruse
atunci cnd se termin execuia funciei.
statice-valoarea unei variabile locale se pstreaz de
la o apelare la alta a funciei.
STATIC $var1, $var2, $var3;

Exemplu variabil global - greit


18

<?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


19

<?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


20

<?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


21

<?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();
?>

Exemplu de modificare a valorii variabilei globale


22

<?php
$a=7;
function global1()
{global $a;
$a+=2;}
function global2()
{global $a;
$a+=1;}
echo "Prima valoare a lui a este ".$a;
global1();
echo "<br>A doua valoare a lui a este ".$a;
global2();
echo "<br>A treia valoare a lui a este ".$a;
?>

Utilizarea referinelor 1
23

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 va deveni '.$a;
?>

Utilizarea referinelor 2
24

Operatorul referin dac se folosete la definirea


funcie, 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;?>

Utilizarea referinelor 3
25

<?php
$a=3;
function suma(&$x)
{$x+=2;
return $x;}
echo suma($a)."<br>";
echo $a;
?>

Current, next, prev


26

Fie tabloul:

10

34

abc

def

435

1ad

Care va fi rezultatul execuiei secvenei:


<?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>';
?>

S-ar putea să vă placă și