Document, comentariu, eseu, bacalaureat, liceu si facultate
Top documenteAdmitereTesteUtileContact
      
    


 


Ultimele referate adaugate

Adauga referat - poti sa ne ajuti cu un referat?

Politica de confidentialitate



Ultimele referate descarcare de pe site
  CREDITUL IPOTECAR PENTRU INVESTITII IMOBILIARE (economie)
  Comertul cu amanuntul (economie)
  IDENTIFICAREA CRIMINALISTICA (drept)
  Mecanismul motor, Biela, organe mobile proiect (diverse)
  O scrisoare pierduta (romana)
  O scrisoare pierduta (romana)
  Ion DRUTA (romana)
  COMPORTAMENT PROSOCIAL-COMPORTAMENT ANTISOCIAL (psihologie)
  COMPORTAMENT PROSOCIAL-COMPORTAMENT ANTISOCIAL (psihologie)
  Starea civila (geografie)
 

Ultimele referate cautate in site
   domnisoara hus
   legume
    istoria unui galban
   metanol
   recapitulare
   profitul
   caract
   comentariu liric
   radiolocatia
   praslea cel voinic si merele da aur
 
despre:
 
Variabile in php
Colt dreapta
Vizite: ? Nota: ? Ce reprezinta? Intrebari si raspunsuri
 
d4b7bi
Reprezentarea varibilelor
Variabilele in PHP sunt reprezentate de semnul dolar, '$', in fata numelui variabilei. Numele variabilelor sunt formate dupa aceleasi reguli ca alte etichete din PHP. Un nume de variabila valid trebuie sa inceapa printr-o litera sau liniuta de subliniere, '_', urmata de un sir de litere, cifre sau liniute de subliniere.

PHP este un limbaj case-senzitiv (exemplul 2.3.1).

$var = "Jean";
$Var = "Paul"; echo "$var, $Var"; // Afiseaza Jean, Paul
$4site = 'nu inca'; // Incorect: incepe printr-o cifra
$_4site = 'nu inca'; // Corect: incepe printr-o liniuta de subliniere
$mais = 'jaune'; // Corect: 'i' este ASCII 239In PHP 3, variabilele sunt asignate intotdeauna prin valoare. Astfel, cand atribuim unei variabile o expresie, intreaga valoare a expresiei este copiata in variabila destinatie. Aceasta inseamna, de exemplu, ca atribuind unei variabile valoarea altei variabile, modificarea unei variabile nu va avea efect asupra celeilalte.

PHP 4 afera si un alt mod pentru atribuirea de valori variabilelor: prin referinta. Aceasta inseamna ca noua variabila nu face decat sa refere variabila originala (cu alte cuvinte, "devine un alias pentru" sau "pointeza la" variabila originala). In acest caz, cele doua variabile sunt interdependente, modificarea uneia determinand modificarea celeilalte. Deoarece nu are loc copierea si actualizarea valorilor, asignarea prin referinta este mai rapida. Diferenta devine notabila in cazul executiilor repetate sau la asignarea tablourilor mari, respectiv a abiectelor.

Pentru a atribui prin referinta, se introduce un ampersand, '&', in fata variabilei care este atribuita (variabila sursa). In exemplul urmator, Numele meu este Pierre se va afisa de doua ori (exemplul 2.3.2):




$aaa = 'Pierre'; // Atribui valoarea Pierre lui $aaa
$bar = &$aaa; /* Atribuire prin referinta
$aaa si $bar refera aceeasi locatie de memorie */
$bar = "Numele meu este $bar"; // Modific $bar , deci inmplicit si $aaa echo $aaa; echo $bar;Observatie: numai variabilele pot fi asigante prin referinta.

Exemplul 2.3.3:

$a = 25;
$bar = &$a; // Atribuire posibila
$bar = &( 24 * 7); // Atribuire eronata: referinta unei expresii fara nume function test()
A return 25;
S
$bar = &test(); // Incorect: functia returneaza o valoare, nu o variabilaVariabile predefinite
PHP furnizeaza un mare numar de variabile predefinite pentru fiecare script pe care il ruleaza. Cele mai multe variabile predefinite depind de serverul pe care se lucreaza, de versiunea si configurarea serverului sau de alti factori. Unele dintre aceste variabile nu vor fi disponibile cand PHP ruleaza intr-o linie de comanda.

Domeniul variabilelor
Domeniul variabilelor este contextul in care variabila este definita. Pentru marea parte a variabilelor, domeniul lor este unic. Acest domeniu se refera si la fisierele incluse intr-un script.

Exemplu:

$a = 1; include "b.inc";Aici variabila $a va fi accesibila in fisierul inclus b.inc. Implicit, toate variabilele utilizate intr-o functie sunt prin definitie locale.

Exemplul 2.3.4:

$a = 1; // Influenta globala function test()
A echo $a; // Influenta locala
S test();Scriptul nu afiseaza nimic pe ecran deoarece instructiunea echo utilizeaza variabila locala $a care nu a fost asignata in acest domeniu. Este o diferenta intre modul de stabilire a domeniului variabilelor globale in C si PHP: in absenta unei referiri locale, variabilele globale din C sunt valabile in orice functie a programului. Acest lucru nu este valabil si in PHP.

Exemplul 2.3.5:

$a = 1;
$b = 2; function Sum()
A global $a, $b;
$b = $a + $b;
S
Sum(); echo $b;Acest script va produce rezultatul 3. Declarand variabilele $a si $b globale in interiorul functiei Sum(), orice referire la acestea in domeniul functiei se va face la declaratiile globale. Numarul variabilelor globale care pot fi manipulate de catre o functie este nelimitat.

A doua modalitate de a accesa variabilele din domeniul global este prin utilizarea variabilei tablou din PHP, numita $GLOBALS. Exemplul anterior poate fi rescris astfel:

$a = 1;
$b = 2; function Sum()
A
$GLOBALSa"b"i = $GLOBALSa"a"i + $GLOBALSa"b"i;
S
Sum(); echo $b;Variabila $GLOBALS este un tablou asociativ care are drept indice numele variabilelor globale si continutul respectivelor variabile drept elemente.

Un alt aspect important legat de domeniul variabilelor se refera la variabilele statice.

O variabila statica exista numai in domeniul unei functii dar nu isi pierde valoarea cand executia programului paraseste acest domeniu.

function Test()
A
$a = 0; echo $a;
$a++;
SAceasta functie este inutila de vreme ce la fiecare apel variabila $a este setata la valoarea 0 care va fi tiparita. Desi in functie exista instructiunea $a++ care incrementeza valoarea variabilei, la incheierea executiei functiei aceasta valoare se pierde, variabila $a avand domeniu local. Pentru a pastra valoarea incrementata a variabilei $a intre doua executii ale functiei, ea va fi declarata ca variabila statica asa cum reiese din exemplul urmator:

function Test()
A static $a = 0; echo $a;
$a++;
SIn acest caz la fiecare apel al functiei Test() va fi tiparita valoarea lui $a, apoi se va incrementa.

Variabilele statice ofera de asemeni posibilitatea de a implementa si functiile recursive. O functie este recursiva daca se autoapeleaza. Proiectarea functiilor recursive trebuie facuta cu atentie pentru a evita recursia infinita. Trebuie asigurata o modalitate adecvata de incheiere a apelurilor recursive. Urmatoarea functie recursiva numara pana la 10 folosind variabila statica $count pentru a sesiza incheierea autoapelurilor (exemplul 2.3.6):

function Test()
A static $count = 0;
$count++; echo $count; if( $count < 10)
A
Test();
S
$count--;
SVariabile variabile
Uneori este convenabil sa lucram cu nume de variabile ce pot fi tratate in mod dinamic. O variabila variabila este un nume de variabila care poate fi initializata si utilizata in mod dinamic. O variabila normala este setata printr-o instructiune de forma:

$a = "hello";O variabila variabila primeste valoarea unei alte variabile si o trateaza ca si cum ar fi un nume de variabila. In exemplul urmator valoarea hello atribuita anterior poate fi tratata ca un nume de variabila utilizand de doua ori semnul dolar:

$$a = "world";In acest moment doua variabile au fost definite si memorate in tabela de simboluri PHP: $a continand "hello" si $hello continand sirul "world". Astfel instructiunea:

echo "$a $($a)";produce aceeasi iesire ca si instructiunea:

echo "$a $hello";adica sirul hello world.

Pentru a utiliza variabilele variabile cu tablouri, trebuie rezolvata o problema de ambiguitate. Astfel, daca scriem $$aa1i, trebuie sa precizam daca dorim sa utilizam $aa1i ca variabila sau $$a si apoi sa indexam cu a1i aceasta variabila. Pentru a rezolva aceasta ambiguitate vom folosi sintaxa $A$aa1iS pentru primul caz si $A$aSa1i pentru al doilea caz.


Colt dreapta
Creeaza cont
Comentarii:

Nu ai gasit ce cautai? Crezi ca ceva ne lipseste? Lasa-ti comentariul si incercam sa te ajutam.
Esti satisfacut de calitarea acestui document, eseu, cometariu? Apreciem aprecierile voastre.

Nume (obligatoriu):

Email (obligatoriu, nu va fi publicat):

Site URL (optional):


Comentariile tale: (NO HTML)


Noteaza documentul:
In prezent fisierul este notat cu: ? (media unui numar de ? de note primite).

2345678910

 
Copyright© 2005 - 2024 | Trimite document | Harta site | Adauga in favorite
Colt dreapta