Capítulo 8. Variables

Tabla de contenidos
Conceptos Básicos
Variables predefinidas
Ambito de las variables
Variables variables
Variables externas a PHP

Conceptos Básicos

En PHP las variables se representan como un signo de dólar seguido por el nombre de la variable . El nombre de la variable es sensible a minúsculas y mayúsculas .

 
$var

 
=

 
"

 
Bob"

 
;

 
$Var

 
=

 
"Joe"

 
;

 
echo

 
"$var

 
,

 
$Var"

 
;

 
/

 
/

 
produce

 
la

 
salida

 
"Bob

 
,

 
Joe

 
"





En PHP3 , las variables siempre se asignan por valor . Esto significa que cuando se asigna una expresión a una variable , el valor íntegro de la expresión original se copia en la variable de destino . Esto quiere decir que , por ejemplo , después e asignar el valor de una variable a otra , los cambios que se efectúen a una de esas variables no afectará a la otra . Para más información sobre este tipo de asignación , vea Expresiones .

PHP4 ofrece otra forma de asignar valores a las variables : asignar por referencia . Esto significa que la nueva variable simplemente referencia ( en otras palabras , "se convierte en un alias de " o "apunta a" ) la variable original . Los cambios a la nueva variable afectan a la original , y viceversa . Esto también significa que no se produce una copia de valores ; por tanto , la asignación ocurre más rápidamente . De cualquier forma , cualquier incremento de velocidad se notará sólo en los bucles críticos cuando se asignen grandes arrays u objetos .

Para asignar por referencia , simplemente se antepone un ampersand ( ) al comienzo de la variable cuyo valor se está asignando (la variable fuente ) . Por ejemplo , el siguiente trozo de código produce la salida ' Mi nombre es Bob ' dos veces :

 
?php

 
$foo

 
=

 
'

 
Bob'

 
;

 
/

 
/

 
Asigna

 
el

 
valor

 
'Bob

 
'

 
a

 
$foo

 
$bar

 
=

 
$foo

 
;

 
/

 
/

 
Referencia

 
$foo

 
vía

 
$bar

 
.

 
$bar

 
=

 
"Mi

 
nombre

 
es

 
$bar"

 
;

 
/

 
/

 
Modifica

 
$bar..

 
.

 
echo

 
$foo

 
;

 
/

 
/

 
$foo

 
también

 
se

 
modifica

 
.

 
echo

 
$bar

 
;

 
?





Algo importante a tener en cuenta es que sólo las variables con nombre pueden ser asignadas por referencia .

 
?php

 
$foo

 
=

 
25

 
;

 
$bar

 
=

 
$foo

 
;

 
/

 
/

 
Esta

 
es

 
una

 
asignación

 
válida

 
.

 
$bar

 
=

 
(24

 
*

 
7)

 
;

 
/

 
/

 
Inválida

 
;

 
referencia

 
una

 
expresión

 
sin

 
nombre

 
.

 
function

 
test(

 
)

 
{

 
return

 
25

 
;

 
}

 
$bar

 
=

 
test()

 
;

 
/

 
/

 
Inválida

 
.

 
?