Variables
Es un contenedor de espacio temporal y pueden ser declarados con tipos enteros, cadenas, decimales, objetos y arreglos. En PHP se puede “perder el tipo”, que significa, que una variable, puede ir cambiando su tipo a lo largo de la ejecución del mismo, no como en C y Java, que solamente pueden ser de un tipo de dato a lo largo de su existencia.
Las reglas para declarar una variable son: empiezan con $(signo dólar), empezarán con letras, (mayúsculas o minúsculas), o guión bajo (_). Nunca con un número. Una variable es sensible a mayúsculas o minúsculas no es lo mismo $contador que $Contador.
Ejemplos:
$_POST; //Correcta
$contador; // Correcta
$3fase; //Declaración errónea
Variable de Variables
En PHP es posible crear una variable de variables, que son aquellas que contiene el nombre de una variable en otro. Por ejemplo:
$variable = ‘foo’;
$$variable = ‘bar’;
echo $foo; // Muestra ‘bar’
En el ejemplo anterior, la variable $$variable, ha hecho una refencia a el nombre de $variable y por esa razón muestra ‘bar’.
Un caso curioso, es que se pueden crear variables cuando empiezan por números, por ejemplo.
$nombre = ’123′; // Es un nombre de variable inválido normalmente.
$$nombre = ’456′; // Se asigna un valor
echo ${’123′}; //Finalmente usando llaves, se muestra ’456′.
Nota: Debes de tener cuidado en utilizar ésta técnica, ya que puede ser bastante complejo entender el código y en temas de seguridad, también hay te tenerlo en cuenta.
Para comprobar que una variable existe y también eliminar problemas de ejecución y de seguridad, está isset ( );
echo isset ($x);
Si la variable existe mostrará TRUE, de lo contrario (cualquier valor) NULL.
Constantes
Es un espacio en memoria que tiene un valor inmutable. Y al igual que las variables, en su declaración deben empezar con una letra (mayúscula / minúscula), con un guión bajo, no debe de empezar por un número y son sensibles a mayúsculas-minúsculas.
Es una buena práctica el declararlas siempre en mayúsculas, por ejemplo:
define (‘CORREOE’, ‘correo@correo.net’);
echo CORREOE; // Muestra correo@correo.net
define (‘BANDERA’ , true);
if (BANDERA) { } //Se puede realizar una evaluación if
define (’1ACONSTANTE’, ‘Cadena de caracteres’); //Declaración errónea
Indispensables en su uso de almacenar información.

