<< Bases de Datos php mysql

Variables

¿Qué es una variable?

Es un espacio de la memoria RAM que se reserva para almacenar algunos datos cuyos valores son susceptibles de ser modificados

Nombres de variables

Deben comenzar siempre por el símbolo $ seguido de una letra, nunca de un número.

$pepe es un nombre de variable válido
$1pepe no es válido

En las variables hay discriminación de mayúsculas y minúsculas:

$Pepe será diferente de $pepe

Ver ejemplo

Tipos de variables

No es necesario definir previamente el valor de la variable. Una cadena de texto puede ser susceptible de operar matemáticamente en un momento dado.

Al asignar un valor a la variable queda definido el tipo de dato:

$variable=valor;

Según el valor que se les asigne, las variables pueden ser de varios tipos:

Una variable siempre se identifica con el símbolo $ seguido del nombre de la variable = Asigna el valor a la variable

Determinación del tipo de variable

Dado que PHP gestiona automáticamente el tipo de las variables, podemos utilizar la función gettype() para determinar el tipo de la variable actual.

$a=3.1416;
echo gettype($a);

Devolverá Double al tratarse de un decimal.

Con la función settype podemos forzar que una variable cambie a un tipo diferente de dato.

$a = 56;                                  # $a es de tipo entero.
echo gettype($a);                   # Imprime en pantalla integer.
settype($a, "double");	# $a es cambiado a double.
echo gettype($a);                   # Imprime integerdouble.
    
integerdouble

También se puede declarar de forma explícita el tipo de una variable:

$precio = 10                              /* Es de tipo entero
$total = (string) $precio;           /* El valor entero es convertido a cadena de texto.
$total = (int) $precio * 1.16      /* Aunque el resultado de la operación sea de tipo double, se realiza la conversión de tipo a un entero

Variables variables

# Definamos una variable y asignémosle un valor
$color="rojo";
# Definamos ahora una nueva variable de nombre variable
# usando para ello la variable anterior

$color=" es mi color preferido";

# Veamos impresos los contenidos de esas variables
print ( "El color ".$color. $$color ."<br>");
#o también
print ( "El color ".$color. ${$color}."<br>");
# o también
print ( "El color ".$color. $rojo."<br>");

# advirtamos lo que va a ocurrir al visualizar la página

print ("Las tres líneas anteriores deben decir lo mismo<br>");
print ("Hemos invocado la misma variable de tres formas diferentes<BR>");

# cambiemos ahora el nombre del color
$color="magenta";

/* La variable $rojo seguirá existiendo. El hecho de cambiar el valor a $color
no significa que vayan a modificarse las variables creadas con su color anterior
ni que se creen automaticamente variables que tengan por nombre el nuevo valor de $color */

# Pongamos un mensaje de advertencia para que sea visualizado en la salida

print ("Ahora la variable $color ha cambiado a magenta<br>");
print ("pero como no hemos creado ningua variable con ese color<br>");
print ("en las lineas siguientes no aparecerá nada <br>");
print ("detrás de la palabra magenta <br>");

# Escribimos los print advertidos
print (" El color ".$color.$$color."<br>");
print (" El color ".$color.${$color}."<br>");

# Comprobemos que la variable $rojo creada como variable de variable
# cuando $color="rojo" aún existe y mantiene aquel valor

print ("Pese a que $color vale ahora ".$color."<br>");
print ("la vieja variable $rojo sigue existiendo <br>");
print ("y conserva su valor. Es este: ".$rojo)

Ver ejemplo 7

Ámbito de las variables

Los valores de una variable definidos en un script pueden ser utilizados desde cualquier otra parte dentro de ese script, pero no desde fuera.

Lo mismo ocurre si definimos la variable dentro de una función. Sólo podremos utilizarla desde dentro de esa función.

Si queremos declarar una variable que tenga valor global escribiremos:

global $nombre_de_la_variable;

También podemos definir varias variables globales seguidas:

global $a1, $a2, $a3;

libros sin dueño
libros sin dueño