Variables en PHP

¿Qué es una variable?

Una variable es una estructuras de datos que, como su nombre indica, pueden cambiar de contenido a lo largo de la ejecución de un programa. Una variable corresponde a un área reservada en la memoria principal del ordenador con determida longitud.

Por ejemplo suponiendo que tenemos una variable llamada hora, esta variable con cada segundo que pase varía su valor.

En php como en todo lenguaje de programación podemos encontrar básicamente dos tipos de variable unas las variables de tipo global (variables globales) y las de tipo local (variables locales).

¿En que se diferencian?

Imáginemos que tenemos un código de indentificación que podemos utilizar en todos los países del mundo (Global), sin embargo en cada país nos dan un código adicional que solo lo podemos usar en ese país (Local).

Las variables funcionan igual, las globales se nos es permitido usar en todo nuestro programa es decir cualquier función puede acceder a dichas variables para leer y escribir en ellas, se declara generalmente fuera de cualquier función, las variables de tipo local solo puede ser utilizada por la función en donde fue declarada.

En php no hace falta declarar una variable antes de su uso, ni establecer su tipo (son 5 tipos: Integer, Double, String, Array y Object). Su nombre puede ser una combinacion de letras (a-Z), números y guiones bajos (nos e recomienda los acentos ni caracteres especiales, aunque pueden funcionar correctamente), precedidos con el signo $. El primer carácter no puede ser un número, y php diferencia entre mayusculas y minúsculas, además una variable no se puede llamar igual que una palabra reservada por php. ejemplo $var es una variable pero no es igual a $Var

Para utilizar una variable basta con asignarle un valor, usando para ello el operador =
Si el valor es una cadena, necesita ir entrecomillado.

Ahora bien sigamos este ejemplo:

<?php
$variable1 = "HOLA MUNDO";
echo $variable1;
?>

Esto nos mostrará lo siguiente:

HOLA MUNDO

En la línea dos hemos declarado la variable llamada variable1 a la cual le hemos asigando como valor una cadena de caracteres (tipo String), para declarar este tipo de dato se hace entre comillas de este modo: “cadena” y se termina con un; indicando que acabo la instrucción.

En la línea tres con echo lo que hacemos es motsrar la variable1 pero como la variable1 contiene el valor: HOLA MUNDO, lo qeu se muestra es su valor.

¿Pero en qué momento es variable nuestra variable?

Observemos este código

<?php
$variable1 = "España";    // el valor de nuestra variable1 es España
$variable1 = "México";    // el valor de nuestra variable1 es México
$variable1 = "Perú";      // el valor de nuestra variable1 es Perú
echo $variable1;
&#91;/sourcecode&#93;

Lo que imprimirá será: Perú, ya que este es el último valor asignado a nuestra variable fue ese valor, con esto demostramos que el contenido de una variable es cambiante.

<strong>¿Qués es lo que pasa con otros tipos de variables?</strong>

Con otros tipos de variables el meacanismo es idéntico:


<?php
$int = 1;           // integro
$doub = 1,5;        // double
$string1 = "1";     // string
$string2 = "uno";   // string
echo $int;
echo $doub;
echo $string1;
echo $string2;
?>

Tipado (casting) de variables

Como se menciono, a diferencia de otros lenguajes, al declarar una variable no tenemos que indicar a que tipo pertenece. Php lo hará por nosotros de acuerdo con su contenido y el contexto. Aunque no es necesario, podemos especificar el tipo de la variable, o forzar su conversion. Forzar un tipo de variable puede ser muy util, por ejemplo para validar la entrada de datos por usuarios desde un formulario.

<?php
$cadena="5";         //esto es una cadena
$entero=3;           //esto es un entero
echo $cadena+$entero //daria el resultado 8
$mivar = "3";        // $mivar es tipo string
$mivar = 2 + $mivar; // automaticamente se convierte a tipo integer
// $mivar ahora vale 5
$mivar = (string)123;// creamos $mivar como cadena
settype($mivar, "double"); // forzamos su cambio a tipo double
// el cambio forzado afecta al valor de la
// variable:
// $mivar = 3.5;
// $mivar = (integer)$mivar; -> valor 3
// $mivar = (boolean)$mivar; -> valor 1
?>

Averiguando el tipo de una variable

Si necesitamos saber a que tipo pertenece una variable podemos usar la función gettype():

<?php
$mivar = "123";
echo gettype($mivar); // string
$mivar = 123;echo gettype($mivar); // integer?>

Chequeando tipos concretos

Si lo que necesitamos es saber si se trata de un tipo concreto de variables, podemos usar una funcion ad hoc: Todas ellas tomas como parámetro el nombre de la función a chequear, y devuelven verdadero o falso

Un dato importante a tener en cuenta es que una variable, sea cual sea su tipo, si es pasada via GET o POST automáticamente se convierte en tipo string. Por ello no podremos utilizar is_integer, por ejemplo, sino is_numeric,, que no indaga acerca del tipo de variable, sino acerca de los caracteres que la componen.

* is_array()
* is_bool()
* is_double()
* is_float()
* is_int()
* is_integer()
* is_long()
* is_null()
* is_numeric()
* is_object()
* is_real()
* is_resource()
* is_scalar()
* is_string()

valores por referencia

A partir de php 4 ademas de pasar un valor a una variable por asignación, podemos pasarselo por referencia

Para ello creamos una nueva variable que referencia ( “se convierte en un alias de” o “apunta a”) la variable original. Los cambios a la nueva variable afectan a la original, y viceversa.

Para asignar por referencia, simplemente se antepone un ampersand (&) al comienzo de la variable cuyo valor se está asignando.

<?php
$a = 5;         // $a vale 5
$b = &$a;       // $b vale 5
$b = $b + 3;    // $b vale 8. $a TAMBIEN vale 8 ahora.
/* los valores serán $a = 8 y $b = 8; */
?>

Variables constantes

Son aquellas cuyo valor no va a cambiar a lo largo de la ejecución del script. Para asignarles un valor se usa la función define()

<?php
define ("AUTOR_EMAIL","blah@miemail.com");
echo AUTOR_EMAIL; // imprime blah@miemail.com
// observa que las variables constantes
// no necesitan del signo $
// Las constantes NO pueden ir entrecomilladas.
?>

Podemos utilizar la funcion defined() para chequear si una constante esta definida o no.

Por último, PHP ofrece diversas constantes predefinidas:

<?php
echo __FILE__ ."";   // nombre del archivo
echo __LINE__ ."";   // numero de linea de codigo
echo PHP_VERSION.""; // numero de version php
echo PHP_OS ."";     // sistema operativo
echo TRUE."";        // valor verdadero (1)
echo FALSE."";       // valor falso (0 o cadena vacia)
echo NULL."";        // sin valor
?>
[/sourcecode language='php']

<strong>Variables de variables</strong>

Podemos reutilizar el valor de una variable como nombre de otra variable


<?php
$var = "ciudad";   // tenemos una variable var, valor ciudad
$$var = "madrid";  // creamos una variable llamada ciudad, con
// valor madrid.
// echo $ciudad nos daría "madrid".
?>

Debo mencionar que una gran parte de este Artículo no a sido creado por mí, lo eh copiado de ignside.net. pero eh tratado de agregar en lo que eh podido ciertos detalles.

Anuncios

Etiquetas: , ,

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s


A %d blogueros les gusta esto: