Tipuri de date, Variabile, Constante, Operatori, Functii

0

In PHP lucrul cu variabile este extrem de simplu. PHP recunoaste usor tipurile variabilelor, iar sintaxa de definire a acestora are structura cea mai simpla posibila. Aceia care au mai lucrat cu C, Java sau Perl, vor gasi lucrul cu PHP foarte usor.

 

Toate variabilele, in PHP incep su semnul dolar ($). Nu conteaza ce tip de variabila folositi. In codul programului toate arata la fel. PHP retine tipul informatiei stocate in variabila.

 

Nu este necesara o declarare a variabilelor la inceputul programului. Tot ce trebuie sa faceti este doar sa le folositi si ele exista. Cum am spus, toate tipurile de variabile arata la fel. Urmatorul exemplu arata cum se declara o variabila de tipul string, integer, si floating-point (tipurile de date vor fi discutate si explicate imediat):

 

$a = “Acesta este un string”; //Acesta este un string

$b = 4; //Acesta este un integer

$c = 4.837 //Acesta este un numar in virgula flotanta (floating-point)

$d = “2”; //Acesta este tot un string

 

 

 

  1. TIPURI DE DATE

 

 

Tipurile de date cele mai folosite in PHP sunt urmatoarele:

–          boolean

–          integer

–          floating-points

–          string

–          array

–          null.

 

In continuare le vom discuta pe fiecare pe scurt.

 

Boolean
Este cel mai simplu tip de date. O variabila de tipul boolean poate avea doar doua valori: TRUE sau FALSE (ADEVARAT sau FALS). De asemenea poate lua valori intregi care sa le repreainte pe cele de mai sus. Astfel, valoarea 0 inseamna FALSE, iar orice alta valoare intreaga diferita de 0 inseamna TRUE.

 

In urmatoarele exemple variabila a primeste valoarea TRUE (adevarat):

$a = TRUE;

$a = 1;

$a = -1;

 

sau valoarea FALSE (fals):

$a = FALSE;

$a = 0;

$a = “”; //sirul vid

 

Integer

Reprezinta multimea numerelor intregi Z = {…, -2, -1, 0, 1, 2, …}

Variabilele de acest tip pot fi initializate cu numere intregi specificate in format zecimal (in baza 10), hexazecimal (in baza 16) sau octal (in baza 8).

Exemplu:

 

$a = 1234; //numar intreg zecimal

$a = -123; //numar intreg negativ

$a = 0123; //numar intreg in format octal – numarul trebuie precedat de un 0

$a = 0x1AB; //numar intreg in format hexazecimal – numarul e precedat de 0x

 

Dimensiunea unui numar de tip Integer este dependenta de platforma, dar valoarea maxima este de aproximativ 2.000.000.000 cu semn (-2.000.000.000 … 0 … +2.000.000.000)

 

Floating-points

Reprezinta numerele cu virgula mobila, care pot fi specificate folosind oricare din sintaxele urmatoare:

 

$a = 1.23;

$a = 1.2e3;

$a = 7E-10;

 

Dimensiunea acestui tip de date este foarte mare, si este data de numere ce pot fi scrise pe 64 de biti (numarul maxim este in jurul valorii de 10^20 = 10 la puterea 20). Dezavantajul este ca are o precizie scazuta la ultimele cifre.

 

String

String reprezinta un sir de caractere.

Exista 3 moduri de definire a variabilelor de tip String, dar numai 2 sunt folosite in mod uzual.
– definirea cu ghilimele simple:

$a = ‘Acesta este un string’;
– definirea cu ghilimele duble:

$a = “Acesta este un string”;

 

Pentru afisarea caracterului apostrof ( ‘ ) in cadrul textului, acesta trebuie precedat de caracterul backslash ( \ ). La fel se procedeaza pentru afisarea caracterului backslash ( \ ).

 

Exemplu:

$a = ‘Arnold once said: „I\’ll be back”‘;

//Va afisa: Arnold once said: “I’ll be back”

 

Diferenta dintre cele doua modalitati este ca in cazul al doilea pot fi inserate anumite caractere speciale, iar daca in cadrul textului apare o variabila, aceasta va fi inlocuita cu valoarea continuta in ea.

 

Exemplu:

$x = 40;

$a = “S-au inscris $x participanti la cursul de PHP.”;

//Va afisa: S-au inscris 40 participanti la cursul de PHP.

 

Caracterele speciale care pot fi folosite sunt urmatoarele:

\n    linie noua (line feed)

\r    intoarcere la inceputul liniei (carriage return)

\t    tab

\\    backslash

\$    semnul dolar

\”    ghilimele

 

 

Array

In limba romana acest tip de date se numeste tipul Tablou si reprezinta o structura ordonata pe mai multe dimensiuni. Datele continute intr-un Array pot fi de tipuri diferite.

 

Sintaxa pentru definire este urmatoarea:

$nume_array[cheie]= valoare;
cheie – poate fi de tipul String sau Integer nenegativ

valoare – poate fi orice

 

Definirea se poate face in mai multe moduri, ilustrate in exemplul urmator:

 

// Acesta

$a = array( ‘culoare’ => ‘rosu’

, ‘gust’ => ‘dulce’

, ‘forma’ => ‘rotund’

, ‘nume’  => ‘mar’

,            4        // cheia este 0

);

 

// este absolut echivalent cu

$a[‘culoare’] = ‘rosu’;

$a[‘gust’] = ‘dulce’;

$a[‘forma’] = ‘rotund’;

$a[‘nume’] = ‘mar’;

$a[]        = 4;        // cheia este 0

 

//sau

$b[] = ‘a’;

$b[] = ‘b’;

$b[] = ‘c’;

// Va rezulta sirul array( 0 => ‘a’ , 1 => ‘b’ , 2 => ‘c’ ),

// sau mai simplu, sirul array(‘a’, ‘b’, ‘c’)

 

Referirea la o variabila de tip tablou se face cu numele tabloului si cheie:

echo “Fructul $a[‘nume’] are gust $a[‘gust’].”;

//Va afisa: Fructul mar are gust dulce.

 

 

Null

Valoarea speciala NULL reprezinta o variabila care nu are nici o valoare.

Sintaxa de atribuire a acestei valori unei variabile este urmatoarea:

$a = Null;

 

Atentie! Valoare null trebuie scrisa in forma aceasta Null, cu N mare.

 

 

  1. VARIABILE

 

 

Cum am spus si la inceput, toate variabilele sunt precedate de semnul dolar ( $ ). Numele variabilelor este case-sensitive, adica tine cont de litere mari sau mici ($var este o variabila diferita de $Var). Numele unei variabile trebuie sa inceapa cu o litera sau liniuta de subliniere ( _ ) urmata de oricate litere, cifre sau liniute de subliniere.

 

Exemplu:

 

$var = “Bob”;

$Var = “John”;

echo “$var, $Var”; //Va afisa: “Bob, John”

 

$4me = “variabila”; //incorect – numele incepe cu o cifra

$_4me = “variabila”; //corect – numele incepe cu liniuta de subliniere

 

In PHP este permisa atribuirea unei valori prin referinta. Aceasta inseamna ca noua variabila va fi o referinta spre variabila originala. Modificarea variabilei noi va duce la modificarea celei originale, si invers. Aceasta atribuire are loc mult mai rapid, iar efectul se observa mai ales in structuri care se repeta. Pentru o astfel de atribuire se foloseste semnul ( & ) in fata valorii atribuite.

 

Exemplu:

 

$a = ‘banana’;

$b = &$a; //variabila $b va contine stringul ‘banana’

$b = ‘portocala’; //modificand variabila $b se va modifica si $a

 

Variabilele declarate in cadrul unui program nu sunt valabile si in interiorul functiilor definite de utilizator. Variabilele globale sunt valabila in tot programul, iar variabilele locale sunt valabile doar in cadrul structurii definite de utilizator.

 

Exemplu:

 

$a = 1; /* variabila globala */
Function Test () {

echo $a; /* referinta spre o variabila locala */

}
Test ();

 

Aceasta functie nu va afisa nimic, pentru ca variabila locala $a nu are atribuita nici o valoare. Pentru a folosi o variabila globala in interiorul functiei definite de utilizator, ea trebuie declarata in cadrul functiei cu clauza global.

 

$a = 1; /* variabila globala */
Function Test () {

global $a;

echo $a; /* referinta spre o variabila locala */

}
Test ();

 

Aceasta functie va afisa valoarea 1, pentru ca foloseste variabila $a declarata global.

 

Variabilele pot fi luate si dintr-un formular HTML sau prin specificarea lor la apelarea paginii web, insa acestea vor fi tratate in alta lectie.

 

 

  1. CONSTANTE

 

Constanta este un identificator pentru o valoare simpla. Cum spune si numele, valoarea acesteia nu se modifica pe durata executiei scriptului. Numele constantei este case-sensitive, ca si in cazul variabilelor. Prin conventie, constantele se scriu intotdeauna cu litere mari.

 

Exemplu:

 

define(„CONSTANT”, „Hello world.”);

echo CONSTANT; // Afiseaza: „Hello world.”

 

Constantele pot contine numai date de tipul: boolean, integer, floating-point si string.

Exista cateva diferente intre constante si variabile:

– constantele nu au semnul dolar ( $ ) in fata

– constantele pot fi definite si accesate oriunde, fara a tine cont de regulile de la variabile

– constantele nu pot fi redefinite.

 

 

 

  1. OPERATORI

 

Operatori aritmetici

$a + $b           adunare

$a – $b           scadere

$a * $b           inmultire

$a / $b           impartire

$a % $b           modulo

 

Operatori de atribuire

$a = 3; //$a primeste valoarea 3

$a += 5; //$a ia valoarea 8, adica 3 + 5.

$c = ($b = 4) + 5; //$b primeste valoarea 4, iar $c valoarea 9

$b = „Hello „;

$b .= „There!”; //atribuie lui $b valoarea „Hello There!”, este echivalent cu $b = $b . „There!”;

 

Operatori la nivel de bit

$a & $b        Si

$a | $b        Sau

$a ^ $b        Sau-Exclusiv

~ $a           Not (Negare)

$a << $b       Rotire la stanga (muta bitii lui $a cu $b pozitii spre stanga)

$a >> $b       Rotire la dreapta (muta bitii lui $a cu $b pozitii spre dreapta)

 

Operatori de comparare

$a == $b       egal cu

$a === $b      identic cu

$a != $b       deferit

$a <> $b       diferit

$a !== $b      neidentic

$a < $b        mai mic

$a > $b        mai mare

$a <= $b       mai mic sau egal

$a >= $b       mai mare sau egal

 

Operatori de incrementare/decrementare

++$a    Pre-incrementare (aduna 1 la $a, apoi returneaza $a)

$a++    Post-incrementare (returneaza $a, apoi aduna 1 la $a)

–$a    Pre-decrementare (scade 1 din $a, apoi returneaza $a)

$a–    Post-decrementare (returneaza $a, apoi scade 1 din $a)

 

Operatori logici

$a and $b      Si

$a or $b       Sau

$a xor $b      Sau-Exclusiv

! $a           Not (Negare)

$a && $b       Si

$a || $b       Sau

Leave A Reply