| |
|
|
| |
-
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ñ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í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í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é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éfono: <br>
<input type="text" size="50" name="su_telefono"><br>
introduzca su dirección de correo elé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í se entregan los datos al script:<br>
<?php
extract($_REQUEST, EXTR_SKIP);
print "Bienvenido a PHP $su_nombre.<br/>";
print "estableceremos comunicación a través de su teléfono: $su_telefono.<br/>";
print "o de su correo electró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ón de variables predefinidas</title>
</head>
<body bgcolor="#eceaf3">
<font face = "verdana" size='+1'>
<?php
phpinfo(INFO_VARIABLES);
?>
</body>
</html>
 |
|
Ultima actualisación: Tue, 24 ▪ May ▪ 2011
|
|
|
|