domingo, 20 de julio de 2014

Las variables en PHP



1. Asignación

Una variable es una información que se almacena temporalmente en la memoria, es decir, es una zona de la memoria que almacena información en una página PHP y que se destruye automáticamente cuando la página ya no se ejecuta.

Una variable PHP comienza siempre con $, seguida de una letra y de una secuencia de letras, cifras o del signo _.

Por ejemplo, $edad.

Atención: PHP distingue entre mayúsculas y minúsculas, por lo que $nombre es distinto de $Nombre.

Una variable siempre tiene un nombre y un valor.

Por ejemplo, $edad = 25, el valor 25 se asigna a la variable $edad gracias al signo =.

No es necesario definir y buscar el tipo de variable. Se hace automáticamente.

De este modo, puede escribir:

<?php
$edad = 25; //variable de tipo numérico
//después
$edad = ’toto’; //variable de tipo texto
?>

Esto no origina ningún error. El tipo de variable puede cambiar. En el ejemplo anterior cambia del tipo integer al tipo string (ver el siguiente párrafo).


2. Tipos de variables

Hay dos categorías de variables:
  • Escalar:
    • Los números enteros llamados integer son 1, 2, 3... y los números negativos, -1, -2, -3...
    • Los números decimales llamados float son los números positivos o negativos con comas (1.35665). Atención: el punto se utiliza como separador.
    • La cadena de caracteres string: cualquiera con dobles comillas ("hola") o comillas simples (’hola’).
    • Los booleanos: solo tienen dos tipos de valores: verdadero o falso, clasificados como true o false.
  • Compuesta:
    • Las tablas: permiten almacenar varias variables. Podrá consultarlo en las publicaciones de Funciones y estructuras de control - Las tablas.
    • Los objetos: son más complejos y se describen en la publicación El objeto.


3. Particularidades del tipo de variable string

Si desea mostrar la frase «¿Qué pasa con un apóstrofo ’ come este?», no podrá escribir:

<?php $variable1 = ’¿Qué pasa con un apóstrofo ’ como este?’; ?>

El apóstrofo en la instrucción echo va a generar un error.

Para solucionar este problema, hay dos soluciones:

  • Usar comillas dobles en la instrucción echo:

<?php $variable1 = "¿Qué pasa con un apóstrofo ’ como este?"; ?>
  • Escapar en los apóstrofos con \:

<?php $variable1 = ’¿Qué pasa con un apóstrofo \’ como este?’; ?>

Cuando se añade la barra invertida delante del apóstrofo, se va a evitar que este se interprete como el final de la instrucción echo.

De esta manera, en el segundo caso la cadena "¿Qué pasa con un apóstrofo ’ como este?" estará en la variable $variable1.

Lo mismo ocurre con las comillas:

<?php $variable1 = ’Mis "súper" amigos’; ?>

o

<?php $variable1 = "Mis \"súper\" amigos"; ?>

La barra invertida anula el comportamiento de cierre de instrucción del apóstrofo o de las comillas dobles. También puede servir pra anular el comportamiento del $.

Si quiere mostrar $variable1 = pepe, escriba:

<?php
$variable1 = ’pepe’;
echo "\$variable1 = $variable1";
?>

Para terminar, puede acceder a un carácter de una cadena con la siguiente sintaxis:

$var[x] o $var es el nombre de la variable que contiene la cadena de caracteres y x es la posición del carácter que debe recuperar. Tenga en cuenta que para PHP el primer carácter está en la posición 0.

El siguiente ejemplo, primero muestra h y a continuación a.

<?php
$variable1 = ’hola’;
echo $variable1[0];
echo $variable1[3];
?>


4. La concatenación

Es un conjunto de cadena de caracteres. PHP permite la concatenación usando la coma o el punto.

<?php
echo ’hola ’.’lee esta ayuda’;
?>

Equivale a:

<?php
echo ’hola ’,lee esta ayuda’;
?>

Da como resultado:

Hola lee esta ayuda

Si quiere concatenar la cadena "hola" y "aquí hay un apóstrofo ’", no podrá escribir:

<?php
echo ’hola ’.’aquí hay un apóstrofo ’’;
?>

El apóstrofo cierra la cadena de caracteres que ha empezado en "aquí", por lo que PHP genera un error.

Para evitar este problema:

O bien escapa en el apóstrofo:

<?php
echo ’Hola ’.’aquí hay un apóstrofo \’ ’;
?>

O bien abre y cierra con comillas dobles la cadena de caracteres:

<?php
echo "hola"."aquí hay un apóstrofo ’";
?>

Si introduce en una variable la cadena "aquí hay un apóstrofo ’":

<?php
$variable = "aquí hay un apóstrofo ’";
echo "hola".$variable;
?>

Para mostrar una variable en una cadena de caracteres con ayuda de echo, escriba lo siguiente:

<?php
$variable = "aquí hay un apóstrofo ’";
echo "hola $variable";
?>

PHP interpreta la variable y muestra: "Hola aquí hay un apóstrofo ’", pero no "hola $variable".

Si quiere mostrar "hola$variable", no utilice $:

<?php
$variable = "aquí hay un apóstrofo ’";
echo "hola \$variable";
?>

Para terminar, y para una mayor claridad del código, utilizaremos la sintaxis:

<?php
$variable = "aquí hay un apóstrofe ’";
echo "hola ".$variable;
?>

Esto permite mostrar en Notepad++ la $variable en color azul, y por tanto resaltar las variables del texto.


5. Transtipado

Se utiliza para transformar un tipo de variable en otro.

Por ejemplo, si tiene un número decimal en una variable y desea transformarlo en un entero, solo debe convertirlo en entero. Esta conversión se denomina cast.

<?php
$variable = 15.325;
echo "El valor entero es:".(int)$variable;
?>

Da como resultado:

El valor entero es:15

En este ejemplo la variable $variable se transforma en tipo int y se concatena con la cadena de caracteres "El valor entero es:".

Por tanto, la sintaxis es:

(tipo)$variable

Y el tipo es igual a:
  • (int) o (integer) -> tipo entero
  • (bool) o (boolean) -> booleano
  • (double) o (float) o (real) -> tipo double
  • (string) -> tipo cadena de caracteres
  • (array) -> tipo array
  • (object) -> tipo objeto


Puede añadir espacios entre los paréntesis, antes y después del tipo.

<?php
$variable = 15.325;
echo "El valor entero es:".( integer )$variable;
?>

Da como resultado:

El valor entero es:15

Otro ejemplo consiste en transformar un número entero en cadena de caracteres:

<?php
$variable = 15.325;
echo "El valor del tipo de cadena de caracteres es:
".(string)$variable;
?>

Da como resultado:

El valor del tipo de cadena de caracteres es: 15.325

En el siguiente ejemplo, se transforma un número entero en booleano:

<?php
$variable = 15.35;
$varbool = (bool)$variable;
echo "El tipo de variable \$varbool es:".gettype($varbool);?>

Da como resultado:

El tipo de variable $varbool es: booleano



Espero haber ayudado en algo. Hasta la próxima oportunidad!








No hay comentarios:

Publicar un comentario en la entrada