PHP si MySql (Programator Web 2)

DOCUMENTATIE CURS

Operatori de atribuire

Operatorul de atribuire este "=". $a = 4 atribuie valoarea din dreapta semnului, "4", variabilei din stanga, "$a".
$a = 4 o numim expresie, sau expresie de atribuire. Aceasta expresie are si ea insasi o valoare, si anume valoarea atribuita. Adica, expresia ($a=4) are valoarea 4.

Sursa script Sursa HTML in browser
1
2
3
4
5
6
7
8
9
10
11
<?php
$x = 2;
$y = $x;
var_dump($x); // 2
var_dump($y); // 2
$y = 17;
var_dump($y); // 17
var_dump($x); // 2
?>
1
2
3
4
int(2)
int(2)
int(17)
int(2)




Exemlpul urmator pune in evidenta valoarea unei expresii de atribuire.

Sursa script Sursa HTML in browser
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?php
/*
atribuirile (=) intr-o expresie sunt evaluate de la dreapta la stanga.
asta inseamna ca este evaluat intai $b = 5: $b ia valoarea 5 si in plus expresia ($b = 5) ia valoarea 5
apoi este evaluat $a = expresie unde expresie este $b = 5, si expresie are valoarea 5. Deci si $a devine 5
*/
$a = $b = 5; 
var_dump($b);
var_dump($a);
$y = ($x = 3) + 5; // ($x = 3) seteaza variabila $x la 3 si in plus este o expresie cu valoarea 3. $y devine 8
var_dump($y);
?>
1
2
3
int(5)
int(5)
int(8)


+= , -=, *= ...
Operatorul de asignare poate fi combinat cu operatorii aritmetici si cu operatorul de concatenare stringuri astfel:

Sursa script Sursa HTML in browser
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?php
$a = 1;
$a += 5; // echivalent cu $a = $a + 5;
var_dump($a);
$a *= 2; // echivalent cu $a = $a * 2
var_dump($a);
$a /= 2; // echivalent cu $a = $a / 2;
var_dump($a);
$a .= 'un text';
var_dump($a) // echivalent cu $a = $a . 'un text'; $a (atat operandul cat si rezultatul) este transformat in string de operatorul de concatenare
?>
1
2
3
4
int(6)
int(12)
int(6)
string(8) "6un text"


© 2006-2012 Crystal Mind Academy. All rights reserved