Scrigroup - Documente si articole

     

HomeDocumenteUploadResurseAlte limbi doc
AccessAdobe photoshopAlgoritmiAutocadBaze de dateCC sharp
CalculatoareCorel drawDot netExcelFox proFrontpageHardware
HtmlInternetJavaLinuxMatlabMs dosPascal
PhpPower pointRetele calculatoareSqlTutorialsWebdesignWindows
WordXml


Tipuri de date

php



+ Font mai mare | - Font mai mic



Tipuri de date

PHP include opt tipuri de valori (sau tipuri de date). Patru dintre ele sunt scalare (valori singulare): integer, floating-point, string si boolean. Doua dintre tipurile de date sunt compuse (colectii de date): matrici si obiecte. Cele doua ramase, sunt tipuri de date speciale: resursa si NULL.



Tipul Integer

Valorile apartinand acestui tip sunt numere intregi, precum 1, 12 sau 256. Aria de valori acceptate depinde de platforma folosita, dar de obicei acopera plaja de la -2.147.483.648 la +2.147.483.647. Aceste valori corespund tipului de data long din C.

Valorile intregi pot fi scrise in forma zecimala, octala sau hexazecimala. Valorile zecimale sunt reprezentate de secvente de cifre fara zerourile de la inceput. Secventa de cifre poate incepe cu semnele plus (+), minus (-) sau poate sa nu fie precedata de nici un semn, caz in care valoarea respectiva se considera pozitiva.

Exemple de numere zecimale intregi:




Numerele octale contin la inceput un 0 si apoi o secventa de cifre de la 0 la 7. Ca si numerele zecimale, numerele octale pot fi prefixate cu un plus sau un minus. Iata cateva exemple de numere octale:


// zecimal 493
// zecimal 8

Valorile hexazecimale incep cu 0x, urmat de o secventa de cifre (0-9) sau litere (A-F). Literele pot fi scrise cu majuscule sau cu minuscule, dar de obicei sunt scrise cu majuscule. Ca si in cazul valorilor octale si zecimale, se poate adauga un semn la numerele hexa. Iata cateva exemple de numere hexazecimale:


0xFF // zecimal 255
0x10 // zecimal 16
-0xDAD1 // zecimal -56017

Daca se incearca stocarea unui numar foarte mare intr-o variabila, aceasta va fi automat transformata intr-un numar cu virgula mobila.

Pentru a verifica daca un numar este intreg, se foloseste functia is_int():

if (is_int($x))


Numere reale

Acest tip de numere reprezinta valori scrise cu cifre zecimale. Ca si la intregi, valorile depind de masina dar sunt echivalente de obicei cu cele ale tipului double din C. De obicei, acest tip permite numere intre 1.7E-308 si 1.7E+308 cu 15 cifre de acuratete.

PHP recunoaste numerele reale scrise in doua moduri. Iata cum le folosim in programarea uzuala:




dar putem scrie numerele si cu notare stiintifica:

0.314E1 // 0.314*101, sau 3.14
17.0E-3 // 17.0*10-3, sau 0.017

Valorile reale sunt aproximari ale numerelor. Spre exemplu, pe foarte multe sisteme, 3.5 este de fapt reprezentat ca 3.49999999999. Asta inseamna ca trebuie evitata scrierea de cod care presupune completa acuratete, precum compararea directa a doua valori reale, folosind operatorul = =. Normal este sa comparam cu o eroare ce cateva zecimale:


if (int($a * 1000) == int($b * 1000))

Acolada inchisa

Paranteza dreapta deschisa

Paranteza dreapta inchisa

pana la 777

Caracter ASCII reprezentat de o valoare octala

x0  pana la xFF

Caracter ASCII reprezentat de o valoare hexa.

In string-urile incadrate de apostrof, sunt recunoscute doar combinatiile de caractere   (pentru a produce un backslash) si ' pentru a obtine un apostrof.

Pentru a testa daca doua siruri de caractere sunt identice, putem folosi operatorul de comparare = = :

if ($a == $b)

Pentru a testa daca o valoare este sir de caractere, se foloseste functia is_string():

if (is_string($x))

PHP contine operatori si functii de comparare, dezasamblare, asamblare, cautare, inlocuire precum si o multime de functii pentru siruri de caractere speciale pentru lucrul cu HTTP, HTML si encodari SQL. Pentru ca functiile de manipulare a sirurilor de caractere sunt foarte importante, in lucrarea mea le-am rezervat un capitol intreg.

Valori booleene

Valorile booleene reprezinta "valori de adevar" - ne ajuta sa decidem daca ceva este adevarat sau nu. La fel ca multe alte limbaje, PHP defineste niste valori ca adevarate si pe altele ca fiind false. Aceste valori ajuta la determinarea rezultatului unei structuri conditionale, astfel:

if ($luminat)

In PHP, urmatoarele valori sunt false:

Cuvantul cheie false

Numarul intreg 0

Valoarea reala 0.0

String-ul vid ( ) si string-ul

O matrice fara elemente

Un obiect fara valori si functii

Valoarea NULL

Toate valorile care nu sunt false, sunt adevarate, incluzand resursele (descrise mai tarziu). Pentru claritate, in PHP exista valorile true si false.


$x = 5; // $x are valoare adevarata
$x = true; // mod mai clar de a scrie ca x este adevarat
$y = ''; // $y are valoare falsa
$y = false; // mod mai clar de a scrie ca x este fals

Pentru a determina daca o valoare este booleana, putem folosi functia is_bool().

Vectori

Un vector contine un grup de valori care pot fi identificate dupa pozitie (un numar, cu prima pozitie 0) sau un nume de identificare (sir de caractere).

$persoana[0] = 'Edison';
$persoana[1] = 'Wankel';
$persoana[2] = 'Bell';

$creator['bec'] = 'Edison';
$creator['motor rotativ'] = 'Wankel';
$creator['telefon'] = 'Bell';

Constructorul array() creaza un vector:

$persoana = array('Edison', 'Wankel', 'Bell');
$creator = array('bec' => 'Edison',
'motor rotativ' => 'Wankel',
'telefon' => 'Bell');

Sunt cateva moduri de a parcurge un vector, dar cea mai comuna este folosind functia foreach():

foreach ($persoana as $nume)

foreach ($creator as $inventie => $inventator)

Pentru ordonarea vectorilor, exista o varietate de functii:


Sort($persoana);
// $person is now array('Bell', 'Edison', 'Wankel')

asort($creator);
// $creator is now array('telefon' => 'Bell',
'bec' => 'Edison',
'motor rotativ' => 'Wankel');

Pentru a determina daca o valoare este vector putem folosi functia is_array(). Exista de asemenea o colectie de functii care returneaza numarul de elemente ale unui vector, il parcurg sau sorteaza.

Obiecte

PHP suporta programarea orientata pe obiecte (OOP). Acest tip de programare promoveaza dezvoltarea modulara, simplifica procesul de debugging si ne ajuta la reutilizarea codului.

Unitatea in OOP este clasa. O clasa este o definire a unei structuri ce contine proprietati (variabile) si metode (functii). Clasele sunt definite folosind cuvantul cheie "class":

class Persoana
return $this->nume;
}

Odata ce o clasa este definita, orice numar de obiecte pot fi derivate din ea, folosind cuvantul cheie "new", iar proprietatile si metodele pot fi accesate cu constructorul sageata (->):

$ed = new Persaona;
$ed->nume('Edison');
printf('Salut, %sn', $ed->nume);
$tc = new Persoana;
$tc->nume('Bell');

printf('Salut %sn', $tc->nume);

Pentru a testa daca o valoare este obiect, folosim functia is_object().

Resursele

In PHP exista mai multe module ce contin functii specializate. De exemplu, fiecare extensie de baze de date suportata, are cel putin o functie de conectare, o functie de interogare si o functie de inchidere a conexiunii. Pentru ca pot exista mai multe conexiuni deschise catre baze de date, functia de conectare ne da posibilitatea de a identifica fiecare conexiune in parte, folosind resursele.

Resursele sunt de fapt niste valori intregi. Marele lor avantaje este acela ca sunt colectate de garbage collector atunci cand nu mai sunt folosite. Avantajul eliberarii automate a memoriei este acela ca atunci cand nu mai exista referinte exterioare catre resursa respectiva, aceasta este automat inchisa.

Pentru a verifica daca o valoare este resursa, putem folosi functia is_resource().

NULL

Exista doar o singura valoare a tipului NULL. Aceasta valoare este disponibila prin folosirea cuvantului cheie NULL ce reprezinta o variabila care nu are nici o valoare.

$a = 'beta';
$a = null; // valoarea variabilei s-a sters
$a = Null; // la fel
$a = NULL; // la fel

Pentru a determina daca o variabila este nula, folosim functia is_null().



Politica de confidentialitate | Termeni si conditii de utilizare



DISTRIBUIE DOCUMENTUL

Comentarii


Vizualizari: 2319
Importanta: rank

Comenteaza documentul:

Te rugam sa te autentifici sau sa iti faci cont pentru a putea comenta

Creaza cont nou

Termeni si conditii de utilizare | Contact
© SCRIGROUP 2024 . All rights reserved