Computing">
Estructura If
Estructura If
Estructura If
Los nombres de variables comienzan con el signo $ y son sensibles a mayúsculas y minúsculas (no así las
palabras claves del lenguaje).
En PHP no es necesario definir el tipo antes de utilizarla, las mismas se crean en el momento de
emplearlas. Las variables se declaran cuando se le asigna un valor, por ejemplo:
También podemos hacer notar que para disponer comentarios de línea debemos utilizar dos caracteres //
Un programa completo que inicializa y muestra el contenido de cuatro variables de distinto tipo es:
<html>
<head>
<title>Uso de variables en PHP</title>
</head>
<body>
<?php
$dia = 24; //Se declara una variable de tipo integer.
$sueldo = 758.43; //Se declara una variable de tipo double.
$nombre = "juan"; //Se declara una variable de tipo string.
$exite = true; //Se declara una variable boolean.
echo "Variable entera:";
echo $dia;
echo "<br>";
echo "Variable double:";
echo $sueldo;
echo "<br>";
echo "Variable string:";
echo $nombre;
echo "<br>";
echo "Variable boolean:";
echo $exite;
?>
</body>
</html>
Hemos utilizado un comando echo para mostrar los mensajes, otro el contenido de variables y finalmente
otro para imprimir marcas HTML.
Problema:
Definir una variable de cada tipo: integer, double, string y boolean. Luego imprimirlas en la página, una
por línea, mostrar el siguiente esquema:
Ejemplo de Factura:
_______________________________________________________
Factura: 2005-347554 Alicante, 24/07/2005
Cliente:
Antonio Ribera Pascal
NIF 000000000000
C/ Cervantes 234 Primero
98344 - Lorca
Murcia
2
Tel: 111.5555.2222
_______________________________________________________
Ref 23 - Impresora LX 234 Ferrareti 30,72
Ref 234 -Cartucho de tinta R7-213 9,00
-------------------------------------------------------------------------
Total (Base Imponible) 39,72
IVA (16%) 6,35
-------------------------------------------------------------------------
Total a Pagar (Euros) 46,08
_______________________________________________________
$cadena1="Hola";
$cadena2="Mundo";
echo $cadena1." ".$cadena2;
echo $cadena1;
echo " ";
echo $cadena2;
A medida que uno haga ejercicios podremos resumir en un solo comando echo la salida de múltiples
variables.
Cuando una cadena encerrada entre comillas dobles contiene una variable en su interior, ésta se trata
como tal, por lo tanto se utilizará su contenido para el almacenamiento.
$dia=10;
$fecha="Hoy es $dia";
echo $fecha;
En pantalla se muestra: Hoy es 10
Es decir, en la cadena, se sustituye el nombre de la variable $dia, con el contenido de la misma.
Una cadena se puede definir con las comillas simples (pero es importante tener en cuenta que no se
sustituyen las variables si empleamos comillas simples):
$nombre='juan carlos';
Ejemplo:
<head>
<title>Problema</title>
</head>
<body>
<?php
$cadena1="diego";
$cadena2="juan";
$cadena3="ana";
$todo=$cadena1.$cadena2.$cadena3."<br>";
echo $todo;
$edad1=24;
echo $cadena1." tiene $edad1 de edad";
?>
</body>
</html>
Problema:
Definir tres variables enteras. Luego definir un string que incorpore dichas variables y las sustituya en
tiempo de ejecución.
Recordar que una variable se sustituye cuando el string está encerrado por comillas dobles:
$precio=90;
echo "La computadora tiene un precio de $precio";
if (Condición)
{
Instrucción 1;
Instrucción 2;
}
else
{
Instrucción A;
Instrucción B;
}
Cuando la ejecución llega al punto donde se encuentra la instrucción if, el programa verificará el
cumplimiento o no de la condición. Si la condición es verdadera se ejecutarán las instrucciones 1 y 2, de
lo contrario, se ejecutarán las instrucciones A y B.
En los casos en que las condiciones sean varias, se pueden utilizar los if de un modo denominado anidado
o anillado, como se indica de la manera siguiente:
if (Condicion 1)
{
Instrucción 1;
Instrucción 2;
}
else
{
if (Condicion 2)
{
Instrucción A;
Instrucción B;
}
else
{
Instrucción X;
Instrucción Z;
}
}
De este modo se pueden introducir tantas condiciones como se quiera dentro de la condición principal.
Una variante de este sistema es utilizando la sentencia elseif, que permite en una sola línea introducir una
condición adicional:
if (Condicion 1)
{
Instrucción 1;
Instrucción 2;
}
elseif (Condicion 2)
{
Instrucción A;
Instrucción B;
}
else
{
Instrucción X;
Instrucción Z;
}
Para las condiciones tener en cuenta que disponemos de los siguientes operadores:
== para ver si una variable es igual a otra.
!= distinto.
>= mayor o igual.
> mayor.
<= menor o igual
< menor
Ejemplo1:
La mejor forma de entender esta estructura condicional es por medio de ejemplos. El primero que nos
plantearemos es generar un valor aleatorio (es decir lo elige la máquina al azar, como extraer una bolilla
de un bolillero de lotería) comprendido entre 1 y 10. Luego mostraremos un mensaje si es menor o igual a
5 o si es mayor a 5.
El programa completo es:
<html>
<head>
<title>Problema</title>
</head>
<body>
<?php
$valor=rand(1,10);
echo "El valor sorteado es $valor<br>";
if ($valor<=5)
{
echo "Es menor o igual a 5";
}
else
{
echo "Es mayor a 5";
}
?>
</body>
</html>
Es importante recordar que siempre la condición del if debe ir entre paréntesis. Si la condición del if se
verifica verdadera (es decir el número sorteado es menor o igual a 5) ejecuta el primer bloque que se
encuentra entre llaves. En caso de verificarse falsa la condición del if se ejecuta el bloque entre llaves que
se encuentra después del else.
El valor aleatorio lo generamos llamando a la función random pasándole el valor mínimo y máximo:
$valor=rand(1,10);
Como podemos observar estamos en presencia de un problema que tiene tres caminos posibles. El valor
puede tener 1 dígito, 2 dígitos o 3 dígitos. Si pensamos un poco podremos identificar que para que tenga
un dígito debe generarse un valor entre 1 y 9, para que tenga dos dígitos deberá estar comprendido entre
10 y 90, y finalmente para tener 3 dígitos deberá ser el valor 100.
Ejemplo2:
<html>
<head>
<title>Problema</title>
</head>
<body>
<?php
$valor=rand(1,100);
echo "El valor sorteado es $valor<br>";
if ($valor<=9)
{
echo "Tiene un dígito";
}
else
{
if ($valor<100)
{
echo "Tiene 2 dígitos";
}
else
{
echo "Tiene 3 dígitos";
}
}
?>
</body>
</html>
Es importante notar como la segunda estructura if se encuentra contenida entre las llaves del else del
primer if. Es decir que si el valor aleatorio es menor o igual a 9 se ejecuta el bloque del verdadero del
primer if y no se ejecuta por lo tanto el if anidado en el else. Por el contrario si la condición del primer if
se verifica false se ejecuta el bloque del else del primer if, la misma contiene una estructura if con sus
bloques del verdadero y false.
Ejemplo3:
A modo ilustrativo el mismo ejemplo resuelto con la estructura if/elseif será:
<html>
<head>
<title>Problema</title>
</head>
<body>
<?php
$valor=100;//rand(1,100);
echo "El valor sorteado es $valor<br>";
if ($valor<=9)
{
echo "Tiene un dígito";
}
elseif ($valor<100)
{
echo "Tiene 2 dígitos";
}
else
{
echo "Tiene 3 dígitos";
}
?>
</body>
</html>
Problema:
Generar un valor aleatorio entre 1 y 5. Luego imprimir en castellano el número (Ej. si se genera el 3 luego
mostrar en la página el string "tres").
Para ver si una variable es igual a cierto valor debemos plantear una condición similar a:
if ($valor==3)
{
echo “tres”;
}
Problema:
Generar un valor aleatorio entre 1 y 10. Luego imprimir la tabla de multiplicar de los números pares que
se generan.