PHP - Variabile/Constante

Aici gasesti diverse lucruri legate de PHP.

Moderators: Moderator ajutator, Moderator

skill +4
skill +4
User avatar
Status: Offline
Posts: 348
Registered for: 11 years 5 months
11
Status: Working
Location: #Define
Contact:

PHP - Variabile/Constante Post by MytzaMytz »

____________________________________________________________________________________
Ce sunt variabilele?
Variabilele sunt elemente ce au o anumita valoare la un moment dat. Valoare unei variabile se poate schimba de-a lungul executiei unui script.
Lucrul cu variabile in PHP este foarte usor. Nu trebuie specificat un tip pentru ele (de genul "variabila text", "variabila numerica") ci acesta este determinat in mod automat.
Variabilele sunt diferentiate de celelalte elemente ale limbajului prin caracterul $. Astfel, o variabila are forma $nume. Numele variabilei poate fi orice identificator valid (un text ce contine doar litere, cifre si underscore, fara spatii sau alte caractere; un identificator nu poate incepe cu o cifra).

Declararea variabilelor
In PHP declararea variabilelor se realizeaza in acelasi timp cu initializarea lor (cu atribuirea unei valori de inceput). Atribuirea unei valori se realizeaza cu ajutorul instructiunii de atribuire ce are forma <nume variabila> = <valoare>;
Testeaza

Code: Select all

// variabile numerice
$variabila = 1;
$numar = 0;

// variabile text (stringuri)

Code: Select all

$text = "Salut";
$text2 = 'Ce faci?';

// variabile logice (boolean)

Code: Select all

$stiuPHP = true;
$uitRepede = false;

// vector

Code: Select all

$vectorGol = array();
$vectorS = array( 10,11,12,13 ); // vector simplu

// vector asociativ

Code: Select all

$vector = array( 
	'luni' => 'Monday', 
	'marti' => 'Tuesday',
	'miercuri' => 'Wednesday'
);
 
// definirea unei noi componente a unui vector asociativ

Code: Select all

$vector[ 'joi' ] = 'Thursday';

// vector simplu definit ca asociativ, echivalentul lui $vectorS

Code: Select all

$vectorS2 = array(
	0 => 10,
	1 => 11,
	2 => 12,
	3 => 13
);
Nota: un vector asociativ se diferentiaza de unul normal prin faptul ca are chei alfa-numerice (cuvinte).
Atentie: PHP face distinctie intre literele mari si mici. Astfel, cele 3 variabile de mai jos sunt TOTAL diferite:
Testeaza

Code: Select all

$variabila = "negru";
$vaRiabilA = "alb";
$Variabila = 1;
Atribuirea de valori
Se realizeaza la fel ca si declararea prin intermediul instructiunii de atribuire.
Testeaza

Code: Select all

# atribuirea unei valori anume
$variabila = 2;

# copierea valorii de la o alta variabila

Code: Select all

$text = $variabila;

# copierea valorii functioneaza si in cazul vectorilor
# in urma copierii cei 2 vectori vor fi identici
$vectorS = $vectorS2; # toate componentele lui $vectorS2 sunt copiate in $vectorS

# in cazul vectorilor se pot atribui valori separat fiecarei componente

Code: Select all

$vectorS[ 0 ] = 100;
$vectorS[ 3 ] = 10;

Code: Select all

$vector[ 'luni' ] = 'Lundi';
$vector[ 'joi' ] = 'Jeudi';
Stergerea variabilelor
De obicei nu e nevoie ca variabilele sa fie sterse dupa ce au fost folosite. Totusi, lucrul aceste se poate face in urmatoarele moduri:
Testeaza

Code: Select all

unset( $variabila );
$variabila = null;
Afisarea variabilelor
Afisarea se realizeaza utilizand oricare din instructiunile de afisare:
Testeaza

Code: Select all

$variabila = "Text";
$randNou = "<br>";

Code: Select all

print $variabila; 
print $randNou;

// echivalent cu cele doua instructiuni print

Code: Select all

echo $variabila, $randNou;
In anumite situatii, in special atunci cand testati sau depanati codul PHP, puteti folosi doua instructiuni de afisare detaliata a continutului variabilelor: instructiunea print_r, utila in cazul vectorilor, pentru ca afiseaza componentele variabilei specificate, si instructiunea var_dump, ce poate fi folosita pentru orice tip de variabila. Aceasta din urma specifica tipul de data continut si lungimea sa.
Testeaza

Code: Select all

$var1 = 123;

Code: Select all

print "\n print_r:  "; print_r($var1);  // afiseaza 123
print "\n var_dump: "; var_dump($var1); // afiseaza int(123)

Code: Select all

$var2 = "test";

Code: Select all

print "\n print_r:  "; print_r($var2);  // afiseaza test
print "\n var_dump: "; var_dump($var2); // afiseaza string(4) "test"

Code: Select all

$var3 = array('aaa', 'bbb', 'ccc');
 
print "\n print_r:  "; print_r($var3);  // afiseaza Array ( ... )
print "\n var_dump: "; var_dump($var3); // afiseaza array(3) { ... }
Serializarea si deserializarea variabilelor
Serializarea unei variabile presupune transpunerea continutului ei intr-o forma ce poate fi stocata cu usurinta ca text simplu. Deserializarea este operatia inversa, prin care o variabila este recreata pe baza unui text provenit de la o serializare. Astfel, o variabila definita in PHP poate fi serializata si apoi scrisa intr-un fisier text sau salvata intr-o baza de date, avand posibilitatea de a o restaura oricand.
Serializarea se face folosind functia serialize care primeste ca parametru o variabila si returneaza un text. Operatia inversa se realiza cu ajutorul functiei unserialize.
Testeaza

Code: Select all

$variabila = array("componenta1", 2, 3);
$ser = serialize($variabila);

Code: Select all

echo $ser, "\n"; // afiseaza a:3:{i:0;s:11:"componenta1";i:1;i:2;i:2;i:3;}

Code: Select all

$des = unserialize($ser);
print_r($des);  // afiseaza vectorul initial
Serializarea este utila atunci cand o variabila trebuie sa fie stocata sau transmisa ca text catre un alt proces. Este necesar insa ca deserializarea sa fie facuta tot din PHP pentru a asigura recrearea corecta a continutului initial.
O alternativa la serializare si deserializare o constituie transformarea continutului variabilei intr-un format text standard, cum este JSON. Avantajul este ca reconstituirea continutului poate fi facuta de orice proces, nu doar de un script PHP.

____________________________________________________________________________________
Image

Return to “PHP”