Las estructuras de control permiten modificar el flujo de trabajo normal de un programa.
Existen dos tipos de estructuras de control:
Las estructuras condicionales permiten la ejecución de un grupo de líneas de código en función de que se cumpla una condición
Existen dos tipos de estructuras condicionales:
Este tipo de estructuras condicionales ejecutan un grupo de sentencias cuando se cumple la condición indicada.
Para crear una condición simple utilizamos la palabra reservada if:
<?php
if (condicion) {
sentencias;
}
?>Podemos emplear además la palabra reservada else para que se ejecute una serie de instrucciones en caso de que no se cumpla la condición:
<?php
if (condicion) {
sentencias;
} else {
sentencias;
}
?>Se puede, además, hacer una sucesión de condiciones:
<?php
if (condicion) {
sentencias;
} else if (otraCondición) {
sentencias;
} else {
sentencias;
}
?>En este ejemplo se comprueba que la varia $edad es mayor o igual de 18. Si es así se muestra la frase “Eres mayor de edad” y en caso contrario se muestra la frase “Eres menos de edad”.
<?php
$edad = 18;
if ($edad < 16) {
echo "Eres No puedes conducir ningún tipo de vehiculo";
} else if ($edad < 18) {
echo "Puedes conducir ciclomotores";
} else {
echo "Puedes conducir cualquier tipo de vehículo";
}
?>Definición
Existe la posibilidad de emplear una forma contraida de condicional, denominada if corto u operador ternario.
Este operador se emplea principalmente cuando queremos asignar un valor a una variable dependiendo de una condición.
Sintaxis básica
La sintaxis básica del operador ternario es la siguiente:
$variable = (condición) ? (valorSiVerdadero) : (ValorSiFalso);En caso de que el resultado de evaluar la condición sea verdadero, el valor asignado a $variable sería "valorSiVerdadero", y en caso contario "valorSiFalso".
Ejemplos
Dada una variable que contiene la edad de una persona, se desea tener otra variable de tipo String que almacene una frase diciendo si es individuo es mayor de edad.
Empleado condiciones normales, el código sería el siguiente.
<?php
$edad = 18;
$mayorDeEdad = "";
if ($edad >= 18) {
$mayorDeEdad = "Eres Mayor De Edad";
} else {
$mayorDeEdad = "Eres Menor De Edad";
}
?>Si empleamos el if corto, el código sería mucho mas reducido:
<?php
$edad = 18;
$mayorDeEdad = ($edad >= 18) ? ("Eres Mayor De Edad") : ("Eres Menor De Edad");
?>Una estructura de tipo switch permite ejecutar un grupo de sentencias u otro dependiendo del valor de una variable.
Es muy útil, en algunos casos, para evitar anidar muchos if
<?php
switch (n) {
case etiqueta1:
código que se ejecuta se n é igual á etiqueta1;
break;
case etiqueta2:
código que se ejecuta se n é igual á etiqueta2;
break;
default:
código que se ejecuta se n no coincide con ninguna etiqueta;
}
?>Este ejemplo muestra en mensaje por pantalla indicando el color favorito del usuario si es alguna de las opciones: Morado, azul o verde. En caso contrario muestra un mensaje acorde.
<?php
$favcolor="morado";
switch ($favcolor) {
case "morado":
echo "Tu color favorito es el Morado!";
break;
case "azul":
echo "Tu color favorito es el azul!";
break;
case "verde":
echo "Tu color favorito es el verde!";
break;
default:
echo "Tu color favorito no es morado, ni azul, ni verde!";
}
?>
Las estructuras repetitivas permiten ejecutar múltiples veces seguidas un grupo de instrucciones.
Existen varias estructuras de este tipo:
Este tipo de estructura ejecuta un conjunto de sentencias un numero determinado de veces.
La sintaxis básica de un bucle for es la siguiente:
<?php
for (inicio; condición; incremento) {
sentencias;
}
?>El siguiente ejemplo muestra por pantalla los números del 0 al 9
<?php
for ($i = 0; $i < 10; $i++) {
echo $i;
}
?>Este tipo de estructura ejecuta un grupo de instrucciones un numero concreto de veces
Este tipo de estructura repetitiva es ideal para recorrer arrays.
<?php
foreach ($array as $valor) {
sentencias;
}
?>Este ejemplo recorre un array y muestra el valor de cada uno de los elementos contenidos en el:
<?php
$x=array("un","dous","tres");
foreach ($x as $valor) {
echo $valor . "<br>";
}
?>Este tipo de estructura repetitiva ejecuta las instrucciones contenidas en él mientras se cumpla una condición.
<?php
while (condición) {
sentencias;
}
?>El siguiente ejemplo muestra los números del 1 al 5:
<?php
$i=1;
while($i<=5) {
echo "O número é " . $i . "<br>";
$i++;
}
?>Este tipo de estructura repetitiva ejecuta las instrucciones contenidas en él, al menos una vez, mientras se cumpla una condición.
<?php
do {
sentencias;
} while (condition);
?>El siguiente ejemplo muestra los números del 2 al 6:
<?php
$i=1;
do {
$i++;
echo "O número é " . $i . "<br>";
}
while ($i<=5);
?>