- PHP - Elementos estructurales - Variables -

Variables son estructuras de datos, las cuales pueden cambiar de contenido de acuerdo con los parámetros establecidos en un programa.
PHP tiene tres tipos de variables:
predefinidas
definidas por el usuario
de formulario
Las variables tienen nombre, tipo y valor. Son introducidas por el signo de dollar ( $ ) y se le puede asignar diversos tipos de datos, como:
numeros
strings
boleanos
objetos
arrays
PHP no es un lenguaje fuertemente tipificado, por lo que no es necesario especificar el tipo de dato durante su declaración. De hacerlo, PHP producirá un mensaje de error.
El nombre de las variables pueden contener cualquier cantidad de caracteres (letras, números y subrayado), no obstante debe comenzar con una letra o subrayado y son sensibles a lay letras mayúsculas y minúsculas.
Las variables han de declararse antes de usarlas y esto puede hacerse en un script, proceder de un formulario HTML, etc., así como puede inicializarse durante la declaración (asignarle un valor), lo que no es obligatorio.
Puede declararse una o más en una línea, separándolas con un punto y coma ( ; ).
Al asignarle valor a una variable, de ser esta una cadena de caracteres, debe encerrarse esta entra comillas simples ( ' ' ) o dobles ( " " ).
Si el valor lo devuelve una función, esta no se pone entre comillas y si lo devuelve un comando del sistema, deberá ponerse entre comillas hacia atrás o backquotes ( ` ` ).
Ejemplo de declaración:

//asignación de cadenas de caracteres
$nombre = "Romulo";
//asignación de cadenas de caracteres
$ciudad = "Caracas";
//asignación de la salida de una función
$nuevo = date("m/d/Y");
//asignación de un comando del sistema (Unix)
$dirlist = 'ls –l';
//asignación de un comando del sistema (Windows)
$dirlist = 'dir /D/L';

Un ejemplo completo seria como sigue:

<html>
<head>
<title>Variables</title>
</head>
<body bgcolor="#eceaf3">
<font face = "verdana" size='+1'>
<pre>
<?php
            $nombre="John Doe";
            $edad=25;
            $nuevo=date("m/d/Y");
            $nothing;
            echo "$nombre tiene $edad a&ntilde;os de edad.<br/>";
            echo '$nothing contiene el valor de la variable ',gettype($nothing) , ".<br/>";
            echo "Fecha actual: $nuevo<br/>";
?>
</body>
</html>

Otro ejemplo:

html>
<head>
<title>Variables</title>
</head>
<body bgcolor="#eceaf3">
<font face = "verdana" size='+1'>
<pre>
<?php
$listdir=`dir c: /D/L`;
$fecha=`date /T`;
echo "$listdir<br/>";
echo "\n\nLa fecha actual es: $fecha<br/>";
?>
</body>
</html>

Visualizar las variables
Los constructores print( ) y echo( ) pueden utilizarse, indistintamente, para visualizar los valores de las variables. La única diferencia entre ellos, es que echo( ), permite varios argumentos separados por comas, mientras que print( ) no lo hace.
Realmente, ambos no requieren de paréntesis para indicar los argumentos, ya que ambos son constructores especiales y no funciones.

Variables dinámicas
Variables dinámicas son aquellas cuyo nombre se almacena en otra variable. Para acceder a la variable dinámica, ha de utilizarse dos símbolos de dollar ( $ ).
Ejemplo:

<html>
<head>
<title>Variables d&iacute;namicas</title>
</head>
<body bgcolor="#eceaf3">
<font face = "verdana" size='+1'>
<pre>
<?php
$color1="green";
$color2="red";
$color3="yellow";
$color4="blue";
for($cuenta=1; $cuenta<=4; $cuenta++)
{
            $primero="color" . $cuenta;
            print "<font color=${$primero}>";
            echo "La variable almacena en $primero: ${$primero}<br/>";
}
?>
</body>
</html>

Las variables puede ser locales, globales o de entorno.
Las locales, tienen validez solo dentro de una función, mientras que las globales, tiene validez en todo el script.
Las funciones superglobales son accesibles desde cualquier parte del script. Estas son predefinidas en PHP para manejar formularios HTML, cookies, sesiones, archivos y obtener informaciones del entorno y el servidor.

Variables superglobales
Nombre
Contenido
$GLOBALS
Array de todas las variables globales
$_SERVER
Contiene variables del servidor
$_GET
Contiene variables de formulario HTML (con método get)
$_POST
Contiene variables de formulario HTML (con método post)
$_COOKIE
Contiene variables de los cookies
$_FILES
Contiene información sobre los archivos que se envíen al servidor
$_ENV
Contiene las variables de entorno
$_REQUEST
Contiene variables relacionadas con get, post y cookies
$_SESSION
Contiene lass variables registradas por el módulo de sesión

PHP proporciona un grupo de funciones para manejar las variables.

Función devuelve
isset( )
true, si la variable se ha inicializado
empty( )
true, si la variable esta vacia
is_bool( )
true, si la variable es booleanas
is_callable( )
true, si a la variable se le asigna el nombre de un objeto o función
is_double( ), is_float( ),
is_real( )

true, si la variable es un número de coma flotante
is_int, is_integer, is_long
true, si la variable contiene un número entero
is_null( ) true, si la variable contiene el valor NULL
is_numeric( ) true, si a la variable se le asigna un número
is_object( ) true, si la variable es un objeto
is_resource( ) true, si la variable es un recurso
is_scalar( ) true, si a la variable se leasigna un valor único
is_string( ) true, si la variable es un texto o string
unset( ) destruye la variable

Referencias
Referencia es una forma de asignarle valor a una variable. Constituye un puntero, el cual apunta a otra variable.
Para crear referencias, se antepone un ampersand ( & ) a la variable a la cual se apunta.
Ejemplo:

<html>
<head>
<title>Referencia</title>
</head>
<body bgcolor="#eceaf3">
<font face = "verdana" size='+1'>
<pre>
<?php
$var=Choco;
$dulce= & $var;
print "A los muchachos les gusta el $var y a los mayores también les gusta el $dulce.";
?>
</body>
</html>

Función isset( )
Esta función devuelve "true", si la variable contiene un valor y "false", si la variable se ha inicializado con "NULL" (sin valor).
Para verificar si una variable tiene valor NULL, puede usar la función "is_null( )".
Si es necesario garantizar que una variable sea inicializada con un valor distinto de "NULL", puede utilizarse la función "isset( )", con la que puede asignarse un valor por defecto.
Ejemplo:

<html>
<head>
<title>Comprobar variable</title>
</head>
<body bgcolor="#eceaf3">
<font face = "verdana" size='+1'>
La función isset( ) devuelve un valor booleano.<br>
Si existen más variables y tienen un valor asignado, se devuelve true; en otro caso, se devuelve false.<br>
<pre>
<?php
$nombre="Juan"; $apellido1=" "; $apellido2="Perez";
$edad;
$estatus=NULL;
print 'isset($nombre,$apellido1,$apellido2) : ' . isset($nombre,$apellido2)."<br>";
print 'isset($edad) : '. isset($edad) . "<br/>";
print 'isset($ciudad) : '. isset($ciudad) ."<br/>";
print 'isset($estado) : '. isset($estado) ."<br/>";
?>
</body>
</html>

Otro ejemplo:

<html>
<head>
<title>Asignarle a la variable un valor por defecto</title>
</head>
<body bgcolor="#eceaf3">
<font face = "verdana" size='+1'>
<pre>
<?php
if( ! isset($inic))
{
            //asignación de un valor por defecto
            $inic=68;
}
echo "El valor inicial es de $inic puntos.<br/>";
?>
</body>
</html>

Función empty( )
Esta función devuelve "true", si la variable no existe. Igualmente devuelve "true", si existe, pero se le ha signado los valores siguientes:
una cadena ce caracteres vacía " "
0, si es un número
0, si es una cadena de caracteres
NULL o ningún valor
Ejemplo:

<html>
<head>
<title>Probar una variable</title>
</head>
<body bgcolor="#eceaf3">
<font face = "verdana" size='+1'>
La función empty( ) devuelven un valor booleano.<br>
Si la variable no existe o se asigna una cadena vac&iacute;a, 0, o null, o no ha sido asignado ningún valor; <br>
devuelve true, de lo contrario es false.
<pre>
<?php
$nombre=""; $apellido=" ";
$edad="0";
$estatus=NULL;
print 'empty($nombre) : ' . empty($nombre) ."<br/>";
print 'empty($apellido) : ' . empty($apellido) ."<br/>";
print 'empty($edad) : ' . empty($edad) ."<br/>";
print 'empty($salario) : ' . empty($salario) ."<br/>";
print 'empty($nacional) : ' . empty($nacional) ."<br/>";
?>
</body>
</html>

Función unset( )
Este constructor, retira el valor a una variable, es como una sentencia que no devuelve valor alguno.
Ejemplo:

<html>
<head>
<title>Elimina el valor de una variable</title>
</head>
<body bgcolor="#eceaf3">
<font face = "verdana" size='+1'>
<pre>
<?php
            $nombre="Juan";
            $apellido="Perez";
            $edad="25";
            unset($nombre, $apellido);
            print 'despues de haber usado unset( ), isset($nombre,$apellido) ' . isset($nombre,$apellido) . "devuelve false.<br/>";
?>
</body>
</html>

Variables de formulario
Tenga en cuenta que la directiva "registrer_globals" en el archivo de configuración "php.ini", esté en "ON". Esto permitirá a PHP, crear variables a partir de formularios.
Si no es posible modificar el archivo "php.ini", agregue la siguiente línea en sus script:

extract($_REQUEST);

El array superglobal "$_REQUEST" contienen información que se presenta al servidor, la cual proviene de un formulario HTML.
PHP crea una variable global para cada parámetro de un formulario HTML con el mismo nombre, quedando disponible para el script.
Ejemplo:
Formulario HTML simple:

<html>
<head>
<title>Formulario simple</title>
</head>
<body bgcolor="#eceaf3">
<form action="ejem.php">
Por favor, introduzca su nombre: <br>
<input type="text" size="30" name="su_nombre"><br>
introduzca su número de tel&eacute;fono: <br>
<input type="text" size="30" name="su_telefono"><br>
<input type="submit" value="enviar">
</body>
</html>

Procesamiento de las variables del formulario:

<html>
<head>
<title>Procesado del formulario</title>
</head>
<body bgcolor="#eceaf3">
<font face = "verdana" size='+1'>
<pre>
<?php
extract($_REQUEST);
print "Su nombre es: $su_nombre.<br/>";
print "Su numero de telefono es: $su_telefono.<br/>";
?>
</body>
</html>

Por cada campo de texto del formulario ("su_nombre" y "su_telefono"), PHP creará una variable ($su_nombre y $su_telefono), cuyos valores serán tomados de las entradas que haga el usuario en los campos correspondientes del formulario.
El formulario se inicia con la etiqueta <form>.
El atributo "ACCION" hace referencia al script PHP que procesará los datos del formulario.
Una vez tecleado los datos en los campos del formulario y pulsado el botón "enviar", se pasan los datos al script PHP.
La etiqueta "<form>", posee otro atributo, el "METHOD", el cual se refiere a la forma en que han de enviarse los datos al script.
HTTP cuenta con los métodos, GET y POST; para enviar información al servidor.
El método "GET" es el predeterminado, por lo que no es necesario indicarlo explícitamente, el que le indica al navegador (browser) enviar al servidor una cadena de consulta, la cual será incluida al final del URL en la barra de direcciones del navegador.
Este método se utiliza para realizar búsquedas, se trabaja con páginas estáticas y las cadenas de consulta tienen un tamaño limitado.
Por su parte, el método "POST" hay que indicarlo explícitamente con el atributo "METHOD" de la etiqueta "<form>". Ejemplo:

<form action="ejem.php" method="post">

Con el método "POST", el navegador envía datos al servidor, sin que aparezca referencia del script PHP en el URL y sin incluirse en el historial del mismo.
Una vez recibido los datos del servidor, PHP toma la cadena de consulta y asigna los valores a las variables correspondientes.
Ejemplo:

<html>
<head>
<title>Formulario simple</title>
</head>
<body bgcolor="#eceaf3">
<form action="ejem.php" method="post">
Por favor, introduzca su nombre: <br>
<input type="text" size="50" name="su_nombre"><br>
introduzca su número de tel&eacute;fono: <br>
<input type="text" size="50" name="su_telefono"><br>
introduzca su direcci&oacute;n de correo el&eacute;ctronico: <br>
<input type="text" size="50" name="su_correo"><br>
<input type="submit" value="enviar">
<input type="reset" value="borrar">
</form>
</body>
</html>

Procesamiento con PHP:

<html>
<head>
<title>Procesado del formulario</title>
</head>
<body bgcolor="#eceaf3">
<font face = "verdana" size='+1'>
Aqu&iacute; se entregan los datos al script:<br>
<?php
extract($_REQUEST, EXTR_SKIP);
print "Bienvenido a PHP $su_nombre.<br/>";
print "estableceremos comunicaci&oacute;n a trav&eacute;s de su tel&eacute;fono: $su_telefono.<br/>";
print "o de su correo electr&oacute;nico $su_correo.<br/>";
?>
</body>
</html>

PHP dispone de un conjunto de variables predefinidas, algunas de las cuales se definen en la configuración del servidor. Algunas, son definidas en el archivo "php.ini". Algunas de estas son:

Variables Contenido
AUTH_TYPE Contiene el tipo de autenticación del servidor apache
DOCUMENT_ROOT Dirección de la raíz de los documentos, donde se deponen las páginas HTML
HTTP_USEER_AGENT Identifica el navegador al servidor cuando este, hace una petición
HTTP_REFERER URL de la página que contiene el enlace a esta página
REMOTE ADDRESS Dirección IP del client que pide la página al servidor

La función "phpinfo( )" brinda información sobre la configuración de las variable predefinidas.
Para visualizar estas, cree el script siguiente:

<html>
<head>
<title>Visualizaci&oacute;n de variables predefinidas</title>
</head>
<body bgcolor="#eceaf3">
<font face = "verdana" size='+1'>
<?php
phpinfo(INFO_VARIABLES);
?>
</body>
</html>


previo
Imprimir..
Ultima actualisación: Tue, 24 ▪ May ▪ 2011
próximo