Tipuri de siruri si variabile

Numere si siruri, tipul variabilelor

Programele de calculator manipuleaza datele, care reprezinta informatii. Programele PHP folosesc doua categorii principale de date: numere si siruri. Numerele sunt compuse mai ales din cifre, în timp ce un sir poate contine orice caracter, inclusiv cifre, litere si simboluri speciale.
Decizia privind modul de stocare a datelor este importanta, în mod caracteristic, datele se stocheaza sub forma de numere atunci când se doreste executarea unor operatii matematice asupra datelor, deoarece numerele sunt stocate într-un mod care permite efectuarea de calcule. Pe de alta parte, sirurile sunt stocate folosind o modalitate care faciliteaza întelegerea lor de catre operatorul uman. Datele trebuie stocate sub forma de siruri daca formatul acestora nu este numeric sau daca doriti ca operatorul uman sa fie capabil de a introduce sau de a vizualiza datele. Practic, puteti asimila numerele cu un mod de stocare a datelor în interiorul calculatorului. Sirurile se pot asimila unui mod de stocare a datelor în afara calculatorului.

Aceste doua mari categorii de date: numere si siruri, formeaza opt tipuri principale de variabile :

In mod normal tipul variabilelor nu este specificat explicit; acesta va fi evaluat de catre interpretorul PHP la momentul run-time (in momentul executarii scriptului).


Variabilelele de tipul boolean pot lua doar doua valori : FALSE sau TRUE

Variabilele de alt tip decat boolean pot fi convertite la tipul boolean prin operatorul cast (bool) sau (boolean), plasate inaintea valorilor, desi in general nu e nevoie de aceasta converrire, valoarea fiind automat recunoscuta de PHP.


PHP foloseste doua categorii de numere: întregi (tipul integer) si duble, cu virgula (tipul float)
Variabilele integer reprezinta numerele intregi, ele pot fi specificate in format zecimal, hexazecimal sau octal.
Numerele întregi reprezinta numerele fara parte fractionara folosite la numarare, plus zero si numerele negative. Cu alte cuvinte, în PHP termenul de întreg are aceeasi semnificatie ca si în matematica. De exemplu, numarul 100 poate fi reprezentat în PHP sub forma de întreg.
Scrierea numerelor PHP este simpla. Un întreg PHP se obtine prin scrierea cifrelor care îi alcatuiesc valoarea. Daca valoarea este negativa, scrieti un semn minus imediat la stânga numarului. Evitati sa scrieti spatii sau virgule ca parte a unui întreg PHP.
Iata câteva exemple de numere PHP întregi :
                215678    - Numar in reprezentare zecimala
                0x1A8;     - Numar in reprezentare hexazecimala (reprezinta: 1*16*16 + 10*16 + 8 = 424 (in zecimal))
                067         - Reprezinta: 6*8 + 7 = 55 (in zecimal)

Valorile minime, respectiv maxime pe care le poate lua o variabila de tip integer depind de sistemul de operare pe care ruleaza modulul PHP. De exemplu pentru un sistem Windows valoarea unui integer se memoreaza pe 32 de biti: 31 bit pentru numar si un bit pentru semn. In acest caz valorile unui intreg se afla in intervalul :-231 repectiv: 231. Daca incercam sa folosim un integer cu valori care ies din acest inteval vor avea de-a face cu un fenomen de depasire : integer overflow. In acest caz interpretorul PHP converteste acesta valoare intr-o valoare de tip float (care are un interval mai extins de valori).

In PHP simpla impartire a doua valori intregi va produce ca rezultat o variabila de tip float. Pentru a obtine doar partea intreaga acestui rezultat putem folosi operatorul cast (int) in fata rezultatului.
              Ex.: echo (int)8.7;   (va returna 8)
Pentru a rotunji rezultatul la intregul cel mai apropiat de valoarea reala se poate folosi functia round(), unde intre paranteze se adauga valoarea.
              Ex.: echo round(8.7);   (va returna 9)


Reprezinta variabile de tip real [numerele cu virgula], (în lb. engleza se foloseste punctul zecimal în loc de virgula). De exemplu 2.5
In general, numerele duble (tipul float) sunt stocate folosindu-se formatul standard IEEE-64, care furnizeaza 64 de biti. Acest format va permite sa stocati valori care pot merge pâna la 1,8 x 10 la puterea 308 sub forma de numere duble si furnizeaza aproximativ 14 cifre dupa punctul zecimal (sau cifre semnificative) de precizie.
Iata câteva exemple de numere duble (tipul float)


Reprezinta o insiruire de caractere, fiecare caracter este memorat pe 1 byte; setul de caractere este limitat la 256 valori distincte. Dimensiunea sirurilor poate fi oricat de mare in PHP, nu exista specificatii care sa limiteze numarul maxim de caractere dintr-un sir.
Spre deosebire de întregi si de numere float, care contin cifre, sirurile pot contine orice caracter. Ca atare, sirurile sunt utile pentru stocarea datelor care nu pot fi calculate, precum nume, fraze si adrese.

In PHP, un sir poate fi declarat in mai multe feluri:

1) Un mod simplu de a declara un sir este prin delimitarea cu ghilimele simple (' ')

Daca dorim ca sirul sa contina caracterul ' va trebui sa inseram inaintea lui caracterul escape \. Daca dorim ca sirul sa contina caracterul \ va trebui sa dublam acest caracter. Acest comportament este exemplificat in exemplul urmator:

<?php
$var1 = 'Acesta este un sir de test';
echo 'Curs \'PHP\'';
echo '<br />Vrei sa stergi C:\\*.* ?';
echo '<br />Variabila var1=$var1';
echo "<br />Variabila var1=$var1";
?>

In browser va aparea:

Curs 'PHP'
Vrei sa stergi C:\*.* ?
Variabila var1=$var1
Variabila var1=Acesta este un sir de test

Observati diferenta dintre ultimile doua linii!
In penultima linie, unde s-a folosit gilimele simple pentru delimitarea sirului, variabila $var1 nu este expandata adica nu este afisat valoarea variabilei var1=Acesta este un sir de test ci exact textul scris (numele ei). Pentru a realiza afisarea valorii variabilei si nu numele acesteia, se folosesc ghilimelele duble, precum in ultima linie a exemplului de mai sus.


2) O alta metoda pentru a specifica un sir în PHP este prin folosirea ghiimelelor duble (" ").

Daca intr-un sir delimitat prin ghilimele duble vrem ca acesta sa afiseze numele unei variabile, nu valoarea acesteia, adaugam un caracter backslash (\) inaintea numelui variabiei.
Exemplu; echo "Numele variabilei este \$var";
Acest cod va afisa Numele variabilei este $var, oricare ar fi valoarea variabilei "$var".

Caracterele care alcatuiesc sirul sunt incluse între ghilimele duble (" ");
De exemplu, sirul reprezentând numele fizicianului care a formulat teoria relativitatii este "Albert Einstein". Asa cum s-a explicat, un sir poate contine date numerice; de exemplu, "3.14159".
Daca se doreste adaugarea de ghilimele duble intr-un sir delimitat de ghilimele duble, se adauga caracterul \ in fata acestora.
Exemplu; echo "Numele programului este \"PHP\".";
Prin delimitarea cu ghilimele duble PHP faciliteaza includerea în siruri a unor caractere speciale, precum caracterele de salt la linie noua sau retur de car, prin furnizarea de secvente escape care reprezinta caractere speciale.
Iata secventele escape folosite în PHP:

Ca exemplu, iata un sir care include un retur de car, urmat de un salt la linie noua: "Salut, lume!\r\n".

Retineti ca fiecare secventa escape începe cu un backslash (\). Pentru a include un backslash într-un sir, trebuie sa folositi doua caractere backslash.

Pe langa imbricarea variabilelor in cadrul sirurilor delimitate prin ghilimele duble, PHP pune la dispozitie operatorul de concatenare a sirurilor: . (punct) . Acest operator adauga un sir la sfarsitul altui sir. De exemplu:

<?php
$nume = 'Popescu';
$prenume='Costel';
echo 'Numele de familie este '.$nume. 'iar prenumele este '.$prenume;
?>

In browser va aparea:

Numele de familie este Popescu iar prenumele este Costel

In anumite situatii este necesar sa accesam unul dintre caracterele unui sir. Pentru aceasta putem folosi parantezele{} ca in exemplul de mai jos:

<?php
$var1 = 'Acesta este un sir de test';
echo $var1{0};     // Afisaza A (primul caracter din sir)
echo $var1{2};     // Afisaza e (al treilea caracter din sir)
?>

Rezultatul afisat va fi

Ae

3) Sintaxa heredoc este o alta modalitate de a delimita siruri

In acest caz delimitatorul este ("<<<"); acesta trebuie urmat de un identificator unic, dupa care urmeaza sirul de caractere, iar secventa se incheie din nou cu identificatorul mentionat. Identificatorul de incheiere trebuie sa se afle in prima coloana a liniei, acesta poate contine caractere alfanumerice dar neaparat trebuie sa inceapa cu o litera, nu cu o cifra sau alt semn.
Veti intelege mai bine studiind exemplu de mai jos:

<?php
$var1 = <<< EOT
Exemplu de sir care foloseste delimitatorul heredoc.
EOT;
echo $var1;
?>

Rezultatul afisat va fi:

Exemplu de sir care foloseste delimitatorul heredoc.

Reprezinta un vector de valori (care creaza o matrice, vezi Lectia 9 despre matrice), fiecare element al matricei are asociat o cheie. Aceasta cheie va fi folosita ulterior la identificarea unui element specific at matricei. In PHP tipul array se mai numeste si tip map ordonat, deoarece elemente vectorului sunt ordonate dupa campul cheie.
Variabilele de tip array si lucrul cu acestea vor fi prezentate mai detaliat in lectiile urmatoare. Iata un exemplu simplu de variabile array:

<?php
$fructe[0] = 'mere';
$fructe[1] = 'caise';
$fructe[2] = 'piersici';
?>

Reprezinta de fapt instanta unei clase declarate in PHP. O clasa este o structura care contine variabile membru si functii membru.
Variabilele de tip object si lucrul cu acestea vor fi prezentate detaliat in lectiile urmatoare.


Este un tip special de variabila care pastreaza o legatura spre resurse externe. Exemple de resurse externe: manipulatori pentru deschidere de fisiere, conectare la baze de date, compresia fisierelor, resurse COM, etc...


Reprezinta varibilele care nu au inca atribuita o valoare.
O variabila se considera a avea valoarea Null daca:

Putem afla tipul unei variabile folosind functia gettype() care returneaza un string (sir) continand tipul variabilei cercetate.
Observati si studiati exemplul de mai jos

<?php
$var1 = TRUE;
$var2 = 100;
$var3 = 23.88;
$var4 = "Nume";
$var[5] = "fructe";
echo gettype($var1);
echo '<br />'.gettype($var2);
echo '<br />'.gettype($var3);
echo '<br />'.gettype($var4);
echo '<br />'.gettype($var[5]);
echo '<br />'.gettype($var6);
?>

In browser va aparea:

boolean
integer
double
string
string
NULL

Observati ca utima linie afisata este NULL, asta deoarece $var6 nu are nici o valoare determinata

Scriere scripturi PHP elementare <<-- Anterior --- Urmator -->> Variabile si operatori

Un Test simplu in fiecare zi

HTML
CSS
JavaScript
PHP-MySQL
Engleza
Spaniola
Care meta tag se foloseste pentru scurta descriere a paginii?
<meta content="..."> <meta description="..."> <meta http-equiv="...">
<meta name="description" content="70-160 caractere ce descriu continutul paginii" />
Ce proprietate CSS opreste efectul dat de "float"?
clear text-align position
#some_id {
  clear: both;
}
Clic pe metoda ce creaza un array cu toate elementele din pagina cu un anumit nume de tag.
getElementsByName() getElementById() getElementsByTagName()
var divs = document.getElementsByTagName("div");
var nr_divs = divs.length;
alert(nr_divs);
Indicati functia PHP ce returneaza numarul de elemente dintr-un array.
is_array() count() strlen()
$arr = array(7, 8, "abc", 10);
$nri = count($arr);
echo $nri;        // 4
Indicati adverbul corespunzator adjectivului din paranteza in propozitia: "I live (happy)".
happly happily hapily
I live happily.
- Traiesc fericit (in mod fericit).
Indicati adverbul corespunzator adjectivului din paranteza in propozitia: "Vivo (feliz)".
felizamente felizmente felices
Vivo felizmente.
- Traiesc fericit (cu fericire).
Tipuri de siruri si variabile - Tutorial PHP