Variables PHP


Las variables en PHP mantienen una serie de caracteristicas referentes a:

  • Conceptos básicos
  • Variables predefinidas
  • Ámbito de una variable
  • Variables variables
  • Variables Externas a PHP

Conceptos básicos

Los conceptos a tener en cuenta en PHP con las variables son los siguientes:
  • Cualquier nombre de variable está precedido por el símbolo $.
  • En PHP las variables siempre se asignan por valor, aunque en PHP4 ya existen métodos para asignaciones por referencia (&).

Variables predefinidas

En PHP cada vez que se ejecuta un script, existen variables que se crean y que nos pueden informar del entorno en el que se está ejecutando dicho script.
Para obtener una lista de todas estas variables predefinidas se puede utilizar la funcion phinfo().
De todas estas variables, algunas se crean dependiendo del servidor que se esté utilizando y otras son propias de PHP.
Si se tratara de un servidor Apache, la lista de variables es:

  • GATEWAY_INTERFACE:
  • SERVER_NAME
  • SERVER_SOFTWARE
  • SERVER_PROTOCOL
  • REQUEST_METHOD
  • QUERY_STRING
  • DOCUMENT_ROOT
  • HTTP_ACCEPT
  • HTTP_ACCEPT_CHARSET
  • HTTP_ENCODING
  • HTTP_ACCEPT_LANGUAJE
  • HTTP_CONNECTION
  • HTTP_HOST
  • HTTP_REFERER
  • HTTP_USER_AGENT
  • REMOTE_ADDR
  • REMOTE_PORT
  • SCRIPT_FILENAME
  • SERVER_ADMIN
  • SERVER_PORT
  • SERVER_SIGNATURE
  • PATH_TANSLATED
  • SCRIPT_NAME
  • REQUEST_URL
las variables creadas por el propio PHP son:
  • argv
  • argc
  • PHP_SELF
  • HTTP_COOKIE_VARS
  • HTTP_GET_VARS
  • HTTP_POST_VARS

Ámbito de una Varible

El ámbito de una variable en PHP es exactamente igual que en C o en Perl tomando siempre en cuenta los ficheros incluidos al principio de cada programa.

Varibles variables

PHP permite un mecanismo para mantener variables con un nombre no fijo.
Por ejemplo:
   $a = "hola";
   $$a = "mundo";
El ejemplo anterior, define dos variables, una denominada $a que contiene el valor "hola" y otra que se llama $hola que contiene el valor "mundo"
Para acceder al valor de una variable, se accede con:
  echo "$a ${$a}";
ó
  echo "$a ${$a}";
Ambas sentencias provocaran la salida "hola mundo".
Algo que se debe tener en cuenta cuando se utilizan variables, es que hay que resolver la ambiguedad que se crea al utilizar arrays de variables de este tipo. Por ejemplo $$a[1] provoca una ambiguedad para el intérprete, puesto que no sabe si se desea utilizar la variable denominada $a[1] o utilizar la variables $a indexandola en su primer valor. Para esto se utiliza una sintaxis especial que sería ${$a[1]} o ${$a}[1] según se desee una opción u otra.

Variables extenas a PHP

Variables de los forms HTML

Cuando existe un form en HTML, inmediatamente después de ser enviado, dentro del ámbito PHP se crean automáticamente una variable por cada uno de los objetos que contiene el form.
Si se activa la directiva <?php_track_vars?> o con la variable track_vars todo lo enviado por los métodos POST y GET estará en las variables $HTTP_POST_VARS y $HTTP_GET_VARS.

Cookies HTML

La función SetCookie() es una función PHP para asignar Cookies a un ordenador cliente. Esta función se debe llamar siempre antes de comenzar a crear la página puesto que debe formar parte de la cabecera de HTML.Cualquier Cookie que se envía a un cliente, se convierte dentro de PHP en una variable.
Par añadir valores a una cookie se utilizan los corchetes, [], por ejemplo:
  $count++;
  setCookie("count", $count;, time()+3600);
  SetCookie("Visita[$count]", "$valor",time()+3600);
Este ejemplo mantiene dos Cookies en el cliente. La primera mantiene el contador count y la segunda contiene una lista de los comentarios de cada una de las veces que se ha actualizado la cookie, Visita.

Variables de entorno

Las variables de entorno, tales como $HOME, para entornos Linux, se pueden utilizar desde PHP.