Curs Php-mysql


În aceasta lectie vom discuta despre constante si variabile dinamice. Puteti scrie programe PHP utile si complexe fara a utiliza constante sau variabile dinamice. Daca utilizarea constantelor poate facilita citirea programelor dumneavoastra, variabilele dinamice au un efect contrar. Din acest motiv, în general se recomanda evitarea variabilelor dinamice, mai ales de catre programatorii PHP începatori. Totusi, va puteri afla în situatia de a lucra la un program PHP scris de o persoana care foloseste aceste variabile; prin urmare, trebuie sa aveti cunostinte despre variabilele dinamice, indiferent daca le folositi sau nu în propriile dumneavoastra programe.

1. Utilizarea constantelor

O constanta este pur si simplu o valoare care este... constanta, cu alte cuvinte o valoare care nu se modifica, în acest sens, constantele sunt opusele variabilelor, deoarece valoarea unei variabile se poate modifica pe durata executiei unui program.
Pentru a defini o constanta, folositi functia define().
Sa consideram urmatorul exemplu:

- Aceasta instructiune defineste constanta "PI", atribuindu-i valoarea 3.14159. Dupa ce a fost definita, o constanta se poate folosi în cadrul unei expresii.
De exemplu, puteti calcula aria unui cerc dupa cum urmeaza: - Observati ca referintele la o constanta nu folosesc simbolul dolarului. Astfel, o constanta poate fi cu usurinta deosebita de o variabila. Multi programatori scriu numele constantelor folosind numai majuscule, ceea ce le face si mai simplu de identificat.
O functie conexa, defined(), poate determina daca o anumita constanta a fost definita.
De exemplu, cu ajutorul urmatoarei instructiuni PHP puteri determina daca fost definita constanta Pi: - Retineti ca numele care va fi testat este delimitat prin ghilimele duble.
Functia defined() returneaza valoarea 1 (unu) daca respectiva constanta a fost specificata; în caz contrar, returneaza zero
In acest exemplu, instructiunea echo va afisa valoarea 1.

Pe lânga sporirea lizibilitatii programelor, constantele pot facilita modificarea acestora.
Sa presupunem ca ati scris un program care contine multe calcule ce folosesc valoarea 3,14159, iar ulterior ati descoperit ca trebuia sa folositi valoarea mai exacta 3,1415926535898. Descoperirea si modificarea fiecarei aparitii a valorii originale poate fi o activitate mare consumatoare de timp. Dar, daca ati definit o constanta pentru reprezentarea valorii, numarul 3,14159 va aparea o singura data în program si va fi necesara doar o singura modificare a constantei.

Valoarea "pi" este folosita extrem de frecvent în unele calcule. Pentru comoditate, PHP furnizeaza o functionalitate mai indicata decât definirea unei constante cu valoarea pi, functia pi() returneaza valoarea respectiva, cu 14 cifre semnificative (3.1415926535898).
Astfe, puteti calcula aria unui cerc folosind urmatoarea expresie:

2. Lucrul cu variabile dinamice

Daca o constanta poate spori lizibilitatea si simplitatea modificarii programelor, variabilele dinamice îngreuneaza întelegerea si posibilitatea de a opera schimbari în program.
Iata un exemplu simplu de variabila dinamica, denumita "$$film" :

<?php
$oameni_buni = 12;
$film = "oameni_buni";
echo $$film;
?>

O variabila dinamica este denumita folosind doua simboluri ale dolarului ($$) si este asociata cu o variabila obisnuita care are un nume similar si include un singur simbol al dolarului.
In exemplul de mai sus, variabila dinamica $$film este asociata cu variabila obisnuita, dar cu aceasi nume, $film.
Valoarea unei variabile obisnuite da numele (fara un simbol al dolarului) unei a doua variabile ordinare, în exemplu nostru, a doua variabila obisnuita este $oameni_buni. Valoarea acestei a doua variabile obisnuite este valoarea variabilei dinamice: în exemplu, aceasta este valoarea 12. Deci valoarea variabiei dinamice $$film, si care va fi afisata de functia "echo" este 12.
O variabila dinamica nu contine, practic, propria sa valoare. În schimb, contine amplasamentul unde se poate gasi valoarea; cu alte cuvinte, numele unei alte variabile.
Daca variabilele dinamice vi se par derutante, asa e, variabilele dinamice sunt derutante. Sunt rar folosite, uneori este posibila reducerea dimensiunilor unui program folosind una sau mai multe variabile dinamice.

3. Lucrul cu tipuri de variabile

In lectia 2 ati invatat despre tipul variabilelor: Boolean, Integer, Float, String, Array, Object, Resource, Null.
. O consecinta a caracterului dinamic al tipurilor de variabile din limbajului PHP este aceea ca nu trebuie sa specificati tipul variabilelor. PHP determina tipul variabilei în functie de tipul ultimei valori atribuite variabilei. Cu toate acestea, caracterul dinamic al tipurilor nu va scuteste de problemele legate de tipuri. Trebuie sa cunoasteti tipurile acceptate si ceea ce se întâmpla când în cadrul expresiilor se folosesc doua sau mai multe tipuri.
Sa luam în considerare urmatorul script PHP scurt:

- Instructiunea de atribuire care stocheaza o valoare în variabila $z este interesanta, deoarece expresia din membrul drept include un operand Integer (întreg) si un operand de tip float. Ce valoare va aparea la iesire? Raspunsul corect este 3.5, o valoare de tip float.
Când o expresie aritmetica foloseste mai multe tipuri de variabile, PHP executa conversia automata a tipului. Daca unul dintre operanzi este de tip float, PHP trateaza ceilalti operanzi ca si cum ar fi de tip float, executa calculele si returneaza rezultatul ca valoare de tip float.
Este important sa întelegeti faptul ca prin conversia de tip nu se modifica tipurile variabilelor unei expresii; acestia sunt pur si simplu tratati ca si cum ar fi fost de un alt tip.
In cadrul exemplului, variabila $x ramâne de tip înteger, chiar daca PHP o trateaza ca o valoare de tip float pentru a executa calculele.
Sirurile (variabilele de tip string) pot fi de asemenea supuse unei conversii de tip. Sa examinam urmatorul exemplu: - Aici cuvântul "inca" din sirul text este ignorat.
Valoarea afisata este 2, adica suma dintre valoarea variabilei $x si valoarea numerica a sirului text, care este 1. Valoarea numerica si tipurile unui sir sunt determinate prin respectarea urmatoarelor reguli:

4. Conversia manuala a tipului variabilelor

Daca preferati, puteti prelua controlul conversiei tipului variabilei sau puteti modifica tipul unei variabile. Pentru a prelua controlul conversiei de tip, puteti converti fortat un operand de la un tip la altul, proces cunoscut sub numele de "conversie fortata de tip" sau pur si simplu conversie fortata.
În continuare, este dat un exemplu unei astfel de conversie de tip, unde puteti vedea modul de efectuare a acesteia:

Conversia fortata de tip, si anume (int), determina tratarea variabilei $y ca pe un întreg (integer), iar valoarea acesteia devine 2, în loc de 2.5, care este valoarea reala a variabilei $y. Astfel valoarea lui $z care va fi afisata de expresia "echo" este 3.
Tabelul urmator indica si alte conversii fortate de tip care se pot folosi si expresiile care trebuesc utiizate:
Conversie fortata Rezultat
(int), (integer) - Conversie fortata la întreg
(real), (double), (float) - Conversie fortata la dublu
(string) - Conversie fortata la sir
(array) - Conversie fortata la tablou (matrice)
(object) - Conversie fortata la obiect

O alta modalitate de a trata o variabila ca si cum ar fi de un tip specificat este folosirea unor functii specifice.
Ca exemplu de utilizare a uneia dintre functiile respective, luati în considerare si studiati urmatorul exemplu:

<?php
$x = 1.5;
$y = intval($x);

echo $x;
echo "<br />$y";
?>
Rezultatul afisat va fi:
1.5
1
Valoarea 1.5 este afisata ca valoare a variabilei $x, iar valoarea l este afisata ca valoare a variabilei $y.
Tabelul urmator prezinta si alte functii foosite pentru a trata o variabila ca si cum ar fi de alt tip.
Functie Operatie
doubleval(), floatval() - Trateaza argumentul ca fiind de tip dublu.
intval() - Trateaza argumentul ca fiind de tip întreg.
strval() - Trateaza argumentul ca fiind de tip string

Nici conversia normala si nici cea fortata nu modifica tipul unei variabile. Ambele mecanisme determina tratarea variabilelor doar in expresia respectiva ca si cum ar fi de un alt tip.
Totusi, modificarea tipului unei variabile este posibila prin utilizarea functiei settype().
Acest procedeu este ilustrat în urmatorul exemplu:

- Tipul variabilei $x va fi schimbat in "integer", astfel valoarea afisata a variabilei $x este 1, deoarece fractia zecimala se pierde atunci când functia settype() converteste valoarea float la o valoare întreaga.
Valorile posibile pentru al doilea argument al functiei settype(), si anume argumentul care specifica tipul dorit, sunt:

Sa ne amintim din lectia 2 ca exista o functie conexa, gettype(), care returneaza un sir care indica tipul variabilei specificate. Scriptul urmator afiseaza "integer", care indica tipul variabilei $x:

                $x = 1;
                echo gettype($x);


- O lista cu mai multe functii utile in lucru cu tipuri de variabile si valorile lor gasiti la pagina -> Functii pentru tipuri de variabile si valori.

Un Test simplu in fiecare zi

HTML
CSS
JavaScript
PHP-MySQL
Engleza
Spaniola
Care tag HTML5 defineste un text marcat, evidentiat?
<mark> <embed> <span>
<p>Cursuri graruite: <mark>MarPlo.net</mark> , jocuri, anime.</p>
Ce pseudo-clasa CSS defineste un stil la element cand mouse-ul e deasupra lui?
:focus :hover :active
a:hover {
  font-weight: bold;
  color: #00da01;
}
Clic pe functia ce returneaza un sir cu un numar rotunjit la x decimale.
toPrecision(x) toFixed(x) floor(x)
var num = 12.34567;
num = num.toFixed(2);
alert(num);       // 12.35
Indicati functia PHP care adauga continutul unui fisier intr-un array.
[) file() readfile()
$arr = file("a_file.txt", FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);
var_export($arr);
Clic pe raspunsul potrivit la intrebarea: "What time is it?"
On the 7th of July 1996 It is a quarter to 5. Nice weather.
What time is it? It is a quarter to 5.
- Cat este ora? E 5 fara un sfert.
Indicati raspunsul potrivit la intrebarea: "¿Qué hora es?"
Hace buen tiempo. En el 7 de julio de 1996 Son las tres menos cuarto.
¿Qué hora es? Son las tres menos cuarto.
- Cat este ora? E 3 fara un sfert.
Constante si tipuri de variabile

Last accessed pages

  1. Forma verbului Hay (5814)
  2. Prezent perfect continuu - Exercitii si teste incepatori (15572)
  3. Limba spaniola curs online incepatori si avansati (28486)
  4. Teste spaniola - Tests y ejercicios de Español - Gramática (27025)
  5. Gramatica limbii spaniole. Indrumator si prezentare generala (66722)

Popular pages this month

  1. Cursuri si Tutoriale: Engleza, Spaniola, HTML, CSS, Php-Mysql, JavaScript, Ajax (767)
  2. Exercitii engleza - English Tests and exercises - Grammar (596)
  3. Prezentul simplu si continuu - Present Tense Simple and Continuous (587)
  4. Gramatica limbii engleze - Prezentare Generala (580)
  5. Prezentul simplu - Exercitii si teste incepatori (504)