Operadores de Asignación

El operador básico de asignación es " = " . A primera vista podrías pensar que es el operador de comparación " igual que " . Pero no . Realmente significa que el operando de la izquierda toma el valor de la expresión a la derecha , ( esto es , "toma el valor de" ) .

El valor de una expresión de asignación es el propio valor asignado . Esto es , el valor de " $a = 3 " es 3 . Esto permite hacer cosas curiosas como

 
$a

 
=

 
(

 
$b

 
=

 
4

 
)

 
+

 
5

 
;

 
/

 
/

 
ahora

 
$a

 
es

 
igual

 
a

 
9

 
,

 
y

 
$b

 
vale

 
4

 
.





Además del operador básico de asignación , existen los " operadores combinados " para todas las operaciones aritméticas y de cadenas que sean binarias . Este operador combinado te permite , de una sola vez , usar una variable en una expresión y luego establecer el valor de esa variable al resultado de la expresión . Por ejemplo :

 
$a

 
=

 
3

 
;

 
$a

 
+=

 
5

 
;

 
/

 
/

 
establece

 
$a

 
a

 
8

 
,

 
como

 
si

 
hubiésemos

 
escrito

 
:

 
$a

 
=

 
$a

 
+

 
5

 
;

 
$b

 
=

 
"Hola

 
"

 
;

 
$b

 
.=

 
"Ahí

 
!"

 
;

 
/

 
/

 
establece

 
$b

 
a

 
"Hola

 
Ahí

 
!"

 
,

 
igual

 
que

 
si

 
hiciésemos

 
$b

 
=

 
$b

 
.

 
"Ahí

 
!"

 
;





Fíjate en que la asignación realiza una nueva copia de la variable original ( asignación por valor ) , por lo que cambios a la variable original no afectan a la copia . Esto puede tener interés si necesitas copiar algo como un array con muchos elementos dentro de un bucle que se repita muchas veces ( cada vez se realizará una nueva copia del array ) . PHP4 soporta asignación por referencia , usando la sintaxis $var = $othervar ; , pero esto no es posible en PHP3 . 'Asignación por referencia ' quiere decir que ambas variables acabarán apuntando al mismo dato y que nada es realmente copiado .