Sei sulla pagina 1di 11

Variables en PHP

Una variable podra definirse como una posicin de memoria creada para introducir o
asignar cualquier valor o dato, sea nmeros enteros, nmeros decimales, caracteres.
Durante la ejecucin del script el valor de la variable puede "variar"(valga la
redundancia) tanto de tipo como de valor. En PHP (al igual que en JavaScript) no hace
falta declarar la variable ya que simplemente anteponiendo el carcter $ al nombre de la
variable estamos indicando que es una variable.

Otro hecho que cabe destacar a la hora de programar en PHP y la declaracin de


variables es que PHP es un lenguaje "CASE SENSITIVE" es decir que diferencia entre
maysculas y minsculas y debido a esta razn no sera lo mismo $miVariable=valor;
que $MiVaRiABle=valor; ya que PHP lo interpretara como dos variables
completamente diferentes.

<!Ejemplo de manejo de variables -->


<html>
<head>
<title>Ejemplo de variables en PHP</title>
</head>
<body>
<?php
$a = 1;
$b = 3.34;
$c = "Hola Mundo";
echo $a,"<br>",$b,"<br>",$c;
?>
</body>
</html>

Tipos de datos
Los tipos de datos posibles que puede almacenar una variable son los siguientes:

Integer Nmeros enteros positivos y negativos


Double Nmeros decimales o de coma flotante
String Cadenas de texto
Boolean Valores True o False
Array Tipo especial de coleccin de valores
Object Tipo especial de dato complejo

Convertir tipos

PHP es un lenguaje que realiza la conversin de tipos en funcin de los operandos y del
operador. De esta forma si intentamos sumar la cadena '10' y el nmero 20 la accin que
realizara sera convertir la primera variable a numrica y de esa forma podra sumar
10+20=30.
Aparte de que PHP en algunos casos realiza la conversin existen dos funciones
especiales del propio lenguaje las cuales nos permiten saber el tipo de variable que
estamos usando y tambin pueden convertir el tipo de variable:

gettype() Recibe el tipo de variable que es


settype($variable,'tipo variable') Transforma el tipo de variable del modo actual a el
modo que le introduzcamos.

 Integer: Los Integers, o enteros, pueden tener distintos valores numricos que se
expresan con diferentes anotaciones.

$a = 18; # decimal
$a = -18; # decimal negativo
$a = 022; # anotacin octal; es igual a 18 decimales
$a = 0x12; # anotacin exadecimal, es igual a 18 decimales

Probablemente, por lo menos para empezar, se tendra que utilizar sobre todo los
nmeros decimales, sin embargo hay que saber que el lenguaje admite incluso otras
anotaciones adems del decimal.

 Floating Point number / Double: Este tipo de datos son los nmeros con la coma
mvil, por ejemplo, 9.876. La sintaxis para utilizarlos es bastante simple:

$a = 9.876;
$a = 9.87e6;

 String: Con respecto a las strings hay mucho ms que decir porque son tipos de
datos diferentes. La sintaxis de base es:

$string = "Yo soy una cadena";


Si se utilizan las comillas (""), el contenido de la cadena se expande (o,
tcnicamente, "interpolado") , como en el ejemplo a continuacin:
$num = 10;
$string = "El nmero es $num";

Esto visualizar "El nmero es 10".


Sin embargo, como con todos los lenguajes, tambin con los PHP tenemos
caracteres especiales que tienen que estar anticipados por un smbolo, por ejemplo:

$num = 10;
$string = "El nmero es "$num"";

Los que piensen que el output de este cdigo es 'El nmero es "10"' se equivocan. A
parte de que, as como est escrito, el script dara un error de redaccin, las comillas
son caracteres especiales, sin embargo, es posible utilizarlas. Por lo tanto la sintaxis
correcta para el mando es:

$num = 10;
$string = "El nmero es \"$num\"";
Otros caracteres especiales son:
\n -> newline
\r -> carriage return
\t -> tabulacin
\\ -> backslash
\$ -> smbolo del dlar

La alternativa a los caracteres de escape, cuando no haya contenidos que extender,


son los pices (''); por ejemplo:

$string = '$ es el smbol del dlar';

Visualizar precisamente los que estn en los pices. Cuidado con un error muy
comn:

$num = 10;
$string = 'El nmero es $num';

No visualizar "El nmero es 10" sino "El nmero es $num". Por lo tanto, podemos
decir que con los pices el contenido de la cadena se hace una transmisin literal, tal
como est escrito entre los pices.

 Array: El PHP soporta tanto los array escalares como los array asociativos.

En PHP un array de valores se puede crear explcitamente definiendo los elementos,


o su creacin puede hacerse introduciendo valores en el array. Por ejemplo:

$a = ("abc", "def", "ghi");

Crea el array definiendo explcitamente los elementos del array, al contrario de lo


que ocurre en el ejemplo siguiente:

$a[0] = "abc";
$a[1] = "def";
$a[2] = "ghi";

En este caso, el array se crea con tres elementos. Recordemos que el primer
elemento de un array se identifica con el nmero "0". Si, por ejemplo, la longitud de
una array es "5", ste incluye seis elementos. El elemento que tiene el ndice "0" es
el primero del array.

Si, en cambio, para aadir elementos a un array (supongamos que nos referimos al
que hemos creado arriba) se utilizan los corchetes vacos y los datos se ajustan al
array. Por ejemplo:

$a[] = "lmn";
$a[] = "opq";

En este caso caso, el array se alarga 2 elementos y resulta ser:


$a[0] = "abc";
$a[1] = "def";
$a[2] = "ghi";
$a[3] = "lmn";
$a[4] = "opq";

Este ejemplo es mucho ms til cuando queremos ajustar los elementos al array sin
acudir a funciones especficas y sin tener que leer el nmero de los elementos que
estn en el array. Todo se ajustar automticamente y correctamente.

Los array asociativos se basan, en cambio, en parejas "name-value" y un ejemplo


podra ser:

$a = array(
"nombre" => "Mario",
"apellido" => "Rossi",
"email" => "mario@rossi.com",
);

Es interesante la posibilidad que tiene la funcin array de introducir las entries,


como en el ejemplo que sigue:

$a = array(
"primero" => array(
"nombre" => "Mario",
"apellido" => "Rossi",
"email" => "mario@rossi.com",
),
"segundo" => array(
"nombre" => "Marco"
"apellido" => "Verdi",
"email" => "mario@verdi.com",
)
);

Ejecutar en este array una instruccin del tipo:

<? echo $a["segundo"]["email"]; ?>

visualizar "mario@verdi.com".

 Objets: En PHP se pueden utilizar tambin los objetos. Para empezar vamos a ver
un ejemplo:

class visualiza {
function ejecutar_visualiza () {
eco "Visualiza un mensaje"

}
}
$obj=new visualiza;
$obj->ejecutar_visualiza();

En primer lugar definimos la clase "visualiza", que incluye la funcin


"ejecutar_visualiza" que quiere decir que visualiza simplemente un mensaje en la
pantalla.

Con la declaracin "new" inicializamos el objeto "$obj" e invocamos la funcin


visualizar con el operador -> en $obj.

Como se puede ver, utilizar los objetos no es nada difcil aunque, para describirlos
ms en detalle, seran necesarias ms explicaciones.
Estructuras de Decisin
No pueden faltar en un lenguaje de programacin las estructuras de control que
permiten que el programador ejecute unas acciones en el programa cuando se dan (o no
se dan) determinadas condiciones.

 IFELSE
If permite ejecutar un bloque de senetencias si se da (o no se da) una determinada
condicin. Su sintaxis es:
if (condicin)
sentencias

Por ejemplo, queremos que un script nos indique si dos variables son iguales:

$a = 2;
$b = 2;
if ($a == $b) {
eco "\$a es igual a \$b y valen $a.\n";
}

If se puede utilizar tambin de forma diferente de la que acabamos de explicar. Aqu


hay un ejemplo:

<? $a = 2; $b = 2; if ($a == $b) : ?>


$a es igual a $b.
<? endif; ?>

Que hace lo mismo que la de arriba.

"if" se puede utilizar incluso entre llaves, utilizando "endif" cuando se quiera
terminar el bloque "if"; por ejemplo:

if ($a == $b)
eco "\$a es igual a \$b y valen $a.\n";
endif;

Else sirve para "completar" if: con if, de hecho, hemos decidido que ocurra algo
cuando se da una condicin. Con else podemos programar qu ocurre cuando esta
condicin no se da.
n ejemplo podra ser:

$a = 2;
$b = 3;
if ($a == $b) {
eco "\$a es igual a \$b y valen $a.\n";
} else {
eco "\$a es distinta de \$b.\n\$a vale \"$a\" mientras \$b vale \"$b\".\n";
}
Elseif permite especificar casos no definidos por "if". Un ejemplo podra ser: "Si $a
es igual a $b visualiza $a, si $a es distinto de $b visualiza un mensaje de error; avisa
si $a no existe, avisa si $b no existe". Slo con if y else no se podra conseguir, sin
embargo con elseif se convierte en una operacin muy simple:

if ($a == $b) {
echo "\$a es igual a \$b.\n";
} elseif ($a != $b) {
echo "\$a es distinto de \$b.\n";
} elseif (!$a) {
echo "\$a no existe.\n";
} elseif (!$b) {
echo "\$b no existe.\n";
}

 SWITCH
Toma distintas decisiones en funcin de distintos estados de la variable. Su sintaxis
es la siguiente:

switch(expresin){
case valor1:
sentencia a ejecutar cuando la expresin tiene como valor valor1
break
case valor2:
sentencia a ejecutar cuando la expresin tiene como valor valor2
break
case valor3:
sentencia a ejecutar cuando la expresin tiene como valor valor3
break
default:
sentencia que se ejecuta por defecto cuando no se cumpla ninguna de
las condiciones anteriores

Con la sentencia switch podemos ejecutar unas u otras instrucciones dependiendo


del valor de una variable, en el siguiente ejemplo, dependiendo del valor de la
variable $posicion se ejecuta el bloque 1 cuando el valor es "arriba", el bloque 2
cuando el valor es "abajo" y el bloque 3 si no es ninguno de los valores anteriores.

<?php
$posicion = "arriba";
switch($posicion) {
case "arriba": // Bloque 1
echo "La variable contiene";
echo " el valor arriba";
break;
case "abajo": // Bloque 2
echo "La variable contiene";
echo " el valor abajo";
break;
default: // Bloque 3
echo "La variable contiene otro valor";
echo " distinto de arriba y abajo";
}
?>
Operadores
Los operadores de PHP son muy parecidos a los de C y JavaScript, si usted conoce estos
lenguajes le resultaran familiares y fciles de reconocer.

Estos son los operadores que se pueden aplicar a las variables y constantes numricas.

Aritmticos
Los operadores aritmticos que puede usar PHP, se definen en la siguiente tabla.

Operador Nombre Ejemplo Descripcin


+ Suma 5+6 Suma dos nmeros
- Resta 7-9 Resta dos nmeros
* Multiplicacin 6*3 Multiplica dos nmeros
/ Divisin 4/8 Divide dos nmeros
Devuelve el resto de dividir ambos nmeros, en
% Mdulo 7%2
este ejemplo el resultado es 1
++ Suma 1 $a++ Suma 1 al contenido de una variable.
-- Resta 1 $a-- Resta 1 al contenido de una variable.

Ejemplo del uso de los operadores aritmticos de php


<?php
$a = 8;
$b = 3;
echo $a + $b,"<br>";
echo $a - $b,"<br>";
echo $a * $b,"<br>";
echo $a / $b,"<br>";
echo $a % $b,"<br>";
$a++;
echo $a,"<br>";
$b--;
echo $b,"<br>";
?>

Fijmonos un momento en los operadores de divisin y modulo:

El resultado de la divisin no se aproxima al entero que est ms cerca sino que da


todo el nmero. El nmero de los caracteres despus del punto se define en el
archivo php3.ini en la lnea:

precision = 14
Por lo tanto, saldrn slo 14 nmeros despus de la coma, siempre que los haya,
como en el ejemplo:

$a = 12;
$b = 5;
$c = $a / $b;
echo $c;

El resultado es 2.4 y se visualizar precisamente como 2.4, no como


2.40000000000000. Por lo tanto, los 14 decimales se visualizan slo si existen y no
indiscriminadamente como ceros intiles.

el resto se da por s solo, sin el resultado de la divisin misma. Si en el ejemplo


anterior hubiramos utilizado "%" en vez de "/", el resultado habra sido "2".

Comparacin
Los operadores de comparacin son usados para comparar valores y as poder tomar
decisiones. Los operadores validos son:

Operador Nombre Ejemplo Devuelve cierto cuando:


== Igual $a == $b $a es igual $b
!= Distinto $a != $b $a es distinto $b
< Menor que $a < $b $a es menor que $b
> Mayor que $a > $b $a es mayor que $b
<= Menor o igual $a <= $b $a es menor o igual que $b
>= Mayor o igual $a >= $b $a es mayor o igual que $b

Ejemplo de uso de los operadores de comparacin:


<?php
$a = 8;
$b = 3;
$c = 3;
echo $a == $b,"<br>";
echo $a != $b,"<br>";
echo $a < $b,"<br>";
echo $a > $b,"<br>";
echo $a >= $c,"<br>";
echo $b <= $c,"<br>";
?>

Lgicos
Los operadores lgicos son usados para evaluar varias comparaciones, combinando los
posibles valores de estas. A continuacin se muestra los operadores que se pueden usar.
Operador Nombre Ejemplo Devuelve cierto cuando:
Devuelve verdadero cuando ambas
&& Y (7>2) && (2<4)
condiciones son verdaderas.
Devuelve verdadero cuando ambas
and Y (7>2) and (2<4)
condiciones son verdaderas.
Devuelve verdadero cuando al menos una de
|| O (7>2) || (2<4)
las dos es verdadera.
Devuelve verdadero cuando al menos una de
or O (7>2) or (2<4)
las dos es verdadera.
! No ! (7>2) Niega el valor de la expresin.

Ejemplo de uso de los operadores de logicos.


<?php
$a = 8;
$b = 3;
$c = 3;
echo ($a == $b) && ($c > $b),"<br>";
echo ($a == $b) || ($b == $c),"<br>";
echo !($b <= $c),"<br>";
?>

Potrebbero piacerti anche