Categoriile de valori despre care ati învatat pâna acum se numesc valori literale. Deseori, este convenabil sa atribui un nume unei valori, similar procedeului comun folosit în algebra. O valoare cu nume se numeste variabila, deoarece este posibila modificarea valorii asociate numelui. Prin contrast, o valoare literala este fixa.
In limbajul PHP variabilele sunt reprezentate prin semnul $ urmat de numele variabilei.
Numele variabilei este case sensitive, adica conteaza daca numele este scris cu litere mari sau mici. Intotdeuna numele variabilelor trebuie sa inceapa cu o litera sau o liniuta de subliniere (_) si poate fi urmat de litere sau cifre.
Iata cateva exemple de nume de variabila:
Pentru a asocia o valoare unei variabile, veti scrie ceea ce se numeste o instructiune de atribuire. Iata un exemplu simplu:
$temperatura = 33.5;
Numele variabilei este urmat de un semn egal (=), care identifica instructiunea ca fiind o instructiune de atribuire. Semnul egal este urmat de valoarea care urmeaza a fi atribuita variabilei, în acest exemplu, valoarea este data de valoarea literala dubla (float) 33.5. Caracterul punct si virgula (;) marcheaza sfârsitul instructiunii.
Exemplul anterior a atribuit unei variabile o valoare-literala. De asemenea, puteti atribui valoarea unei variabile catre o alta variabila, prin scrierea unei instructiuni de atribuire astfel:
$castigator = $nume;
În acest caz, valoarea variabilei $nume devine valoarea variabilei $castigator. Acest procedeu se numeste atribuire prin referinta. Astfel o modificare facuta asupra lui $nume se va propaga automat si asupra variabilei $castigator.
Iata exemplul de mai sus asa cum va aparea intr-un script PHP simplu :
Rezultatul afisat va fi:
Forma valorii unei variabile se numeste tipul variabilei. Tipul unei variabile se poate modifica daca atribuiti variabilei o valoare de un tip diferit fata de cel al valorii curente a variabilei.
De exemplu, instructiunea de atribuire
$x = 3;
Atribue variabilei $x tipul integer.
Daca instructiunea de atribuire
$x = 3.5;
va fi executata ulterior, variabila $x devine de tip float.
Desi instructiunile de atribuire din limbajul PHP si ecuatiile matematice folosesc ambele semnul egal, cele doua notiuni sunt foarte diferite, deoarece atribuirea nu este acelasi lucru cu egalitatea. Atribuirea este o operatie care înlocuieste o valoare cu o alta. Pe de alta parte, egalitatea este o relatie între doua valori. Când doua valori sunt egale, acestea ramân egale pentru totdeauna. Totusi, puteti atribui o valoare unei variabile si ulterior puteti atribui aceleiasi variabile o alta valoare. Cu alte cuvinte, egalitatea este permanenta; atribuirea nu este.
Variabilele declarate mai sus sunt definite de utilizator. In PHP exista si alte variabile numite "variabile predefinite" care rezida in nucleul PHP, sunt alocate automat de catre modulul PHP, si sunt accesibile in program.
In continuare enumeram citeva dintre aceste "Variabile Superglobale" (accesibile din toate scripturile PHP):
Pentru a va ajuta sa efectuati calcule si prelucrari ale datelor, PHP include o diversitate de operatori si functii utile. Când combinati valorile literale si variabilele cu operatori si functii, construiti ceea ce este cunoscut sub numele de expresii.
Operatorii sunt simboluri specifice care realizeaza o actiune specifica in cadrul unei expresii.
Operatorii actioneaza asupra variabilelor prezente in expresie. De exemplu in cadrul expresiilor matematice vom folosi operatori aritmetici.
| $a + $b | Adunare : a+b |
| $a - $b | Scadere : a-b |
| $a * $b | Inmultire: a*b |
| $a / $b | Impartire: a/b |
| $a%$a | Moule :restul impartirii lui a la b |
| $a +=$b | Echivalent cu: $a = $a + $b |
| $a -=$b | Echivalent cu: $a = $a - $b |
| $a *=$b | Echivalent cu: $a = $a * $b |
| $a /=$b | Echivalent cu: $a = $a / $b |
| $a++ | Incrementare ; Ecivalent cu $a = $a +1 |
| $a-- | Decrementare; Echivalent cu $a = $a -1 |
O proprietate interesanta a operatorului de împartire este aceea ca returneaza o valoare întreaga daca ambii sai operanzi sunt întregi si rezultatul este un întreg; în caz contrar, returneaza o valoare cu virgula (de tip float). Astfel, instructiunea de atribuire
$x = 10/3;
atribuie valorii $x valoarea cu virgula 3.3333333333333, chiar daca operanzii operatorului de împartire sunt ambii întregi.
Similar operatorului de împartire, operatorul modulo executa o împartire; cu toate acestea, operatorul modulo returneaza restul, nu câtul împartirii. De exemplu, prin împartirea lui 10 la 3 se obtine câtul 3 si restul 1. Deci, instructiunea de atribuire
$x = 10%3;
atribuie variabilei $x valoarea 1.
Operatorii de incrementare $a++ si decrementare $a-- au un efect diferit daca sunt scrisi ++$a respectiv --$a
In primul caz, daca avem de exemplu
$x= $a++;
i-se atribue lui $x valoarea variabilei $a dupa care se efectueaza operatia de incrementare ($a = $a + 1)
Dar daca avem
$x = ++$a=
se efectueaza operatia de incrementare ($a = $a + 1) dupa care i-se atribue lui $x noua valoarea a lui $a
Ca în matematica, PHP evalueaza operatorii de înmultire si de împartire anterior operatorilor de adunare, respectiv scadere. Aceasta caracteristica se numeste precedenta.
Datorita precedentei, instructiunea
$x=1+2*3;
atribuie variabilei $x valoarea 7, chiar daca operatorul de adunare apare înaintea celui de înmultire. Se respecta regulile din matematica. Daca doriti sa controlati precedenta unei expresii, puteti folosi paranteze. De exemplu, instructiunea
$x=(1+2)*3;
atribuie variabilei $x valoarea 9, deoarece partea inclusa între paranteze a expresiei este evaluata prima, asa cum se procedeaza în algebra.
In afara de acesti operatori numerici, PHP include un operator de concatenare a sirurilor (.), denumit uneori operator de unire, deoarece functia sa consta în unirea sirurilor.
Sa observam urmatorul exemplu:
Rezutatul afisat va fi:
In exemplul de mai sus se observa folosirea operatorului de concatenare . (punct)
Acest operator adauga la sfarsitul sirului curent noul sir furnizat ca parametru.
Expresia $a .= 'Sir de test' este echivalenta cu : $a = $a . 'Sir de test'.
În afara de operatori, PHP include functii care executa operatii utile. Iata unele exemple de functii:
În afara de acestea, PHP include multe alte functii. Consultati site-ul www.php.net
Majoritatea functiilor necesita una sau mai multe valori de intrare, cunoscute sub numele de argumente. De exemplu, functia "sqrt" necesita un argument (aici este 'x') care specifica valoarea a carei radacina patrata trebuie calculata.
Unele functii, precum min si max, preiau un numar nedefinit de argumente. Alte functii nu necesita nici un fel de argumente. Pentru a putea folosi o functie în mod corespunzator, trebuie sa cunoasteti:
Iata un exemplu simplu care foloseste o functie pentru calculul lungimii laturilor unui patrat, daca este cunoscuta aria patratului:
Retineti modul în care argumentul functiei este inclus între paranteze, precum si modul în care functia si argumentul sau sunt folosite într-un mod asemanator cu o valoare literala sau o variabila.
Iata un exemplu care prezinta modul de utilizare a functiei "max", care preia mai multe argumente:
Rezultatul dat variabilei "$punctaj maxim" va fi determinat de functia "max", aceasta determinand valoarea cea mai mare a argumentelor din paranteza.
Observati ca fiecare argument este separat de vecinul sau printr-o virgula.