En este articulo vamos a ver lo que son las Estructuras de control y sus tipos en PHP. También llamados bifurcaciones si cumple una determinada condición o condiciones. La forma de evaluar una expresión y si es verdadera de ejecutar un bloque de código.
Estructura condicional simple :
if (condición o condiciones) {
// ejecutar si cumple la condición
}
Ejemplo de Código :
<?php
// como es TRUE se ejecuta este código
if (true) {
var_dump('Esto se hace');
var_dump('Otro');
}
// como es FALSE No se ejecuta
if (false) {
var_dump('Esto no se imprime');
}
$polo = 'JS';
if ($polo != 'CSS') {
var_dump('El polo no es de CSS');
}
Estructura Condicional doble o compuesta :
if (condición o condiciones) {
// Hace algo si se cumple la condición
} else {
// Hace algo si NO se cumple la condición
}
Ejemplo de código :
/**
* Else
*
* Es similar al if, la diferencia es que else no requiere una condición
*/
$polo = 'JS';
if ($polo == 'CSS') {
var_dump('Tengo un polo CSS');
} else {
var_dump('Oh, el polo es JS');
}
Condicionales tipo if else if :
if ( condición o condiciones ){
// Realizará algo si se cumple la condición
} elseif (condición o condiciones) {
// Realizará algo si no se cumple la primera
}
Ejemplo de código :
<?php
$polo = 'PHP';
if ($polo == 'CSS') {
var_dump('Tengo un polo CSS');
} elseif ($polo != 'JS') {
var_dump('El polo es de JS');
} elseif ($polo !== 'HTML') {
var_dump('El polo es de HTML');
} else {
var_dump('Oh, tengo el polo del nuevo curso!');
}
Estructura condicional Múltiple :
switch( condicion ){
case ( condicion ):
// ejecutar si cumple;
break;
case ( otra condicion ):
// ejecutar si cumple;
break;
default:
// ejecutar si no cumple;
}
Ejemplo de código :
<?php
/**
* La sentencia switch es similar a la sentencia if,
* excepto que no se usa una condición sino un valor
* que se desea comparar.
*
* Se pueden muchos case.
*
* Si no se agrega el break como sentencia final de un case
* se ejecutan todas las sentencias de los case siguientes.
*
* default: caso especial cuando ninguno de los casos
* anteriores coincide.
*
*/
$polo = 'PHP';
switch ($polo) {
case 'CSS':
var_dump('Tengo un polo CSS');
break;
case 'JS':
var_dump('Tengo un polo JS');
break;
case 'HTML':
var_dump('Tengo un polo HTML');
break;
default:
var_dump('Ninguno de los casos coincide');
}
En 7.0 nos trae nuevos Operadores :
Operadores Lógicos :
- AND &&
- OR ||
- ! NEGACIÓN
- XOR (Solo debe cumplir una expresión No dos)
Ejemplo de código :
<?php
$a = true;
$b = false;
$polo = 'CSS';
/**
* and
*
* Devuelve true si ambos son true
*/
//var_dump(true and true);
//var_dump((5 > 2) and ($polo == 'CSS'));
/**
* &&
*
* Devuelve true si ambos son true
*/
//var_dump(false && true);
/**
* or
*
* Devuelve true si cualquiera de los dos es true
*/
//var_dump(true or true);
/**
* ||
*
* Devuelve true si cualquiera de los dos es true
*/
//var_dump(false || true);
/**
* !
*
* Devuelve true si el operando no es true
*/
//var_dump(!true);
/**
* xor
*
* Devuelve true si uno de los operandos es true, no ambos
*/
var_dump(false xor false);
Operador de nave espacial :
Con el simbolo “<=>”, se emplea para comparar dos expresiones, devuelven lo siguiente :
- -1 : Si el de la izquierda es menor
- 0 : Si son iguales
- 1 : Si el de la izquierda es mayor
<?php
// Número enteros
/*var_dump(1 <=> 1); // 0
var_dump(1 <=> 2); // -1
var_dump(2 <=> 1); // 1*/
// Floats
var_dump(1.5 <=> 1.5); // 0
var_dump(1.5 <=> 2.5); // -1
var_dump(2.5 <=> 1.5); // 1
// strings
var_dump('a' <=> 'a'); // 0
var_dump('a' <=> 'b'); // -1
var_dump('b' <=> 'a'); // 1
Operadores de Comparación :
- == Igual
- > Mayor que
- < Menor que
- != Diferente (No igual)
- === Es idéntico a
- !== No es idéntico a
- >= Mayor o igual que
- <= Menor o igual que
- <> Es diferente de
Operador Ternario :
(condición) ? (verdadero):(falso)
Ejemplo de Código :
<?php
/**
* Operador ternario
*/
$curso = 'CSS';
$polo = ($curso == 'JS') ? 'Polo JS' : 'Otro polo';
var_dump($polo);
Operador de fusión de null :
<?php
$polo = 'Frase super larga';
/**
* isset
*
* Determinada si una variable está definida y no es null
*/
//var_dump(isset($polo));
/**
* Si la variable polo está definida y no es null se arroja su valor,
* de lo contrario arroja "un mensaje".
*/
var_dump(isset($polo) ? $polo : 'Un mensaje');
/**
* Operador de fusión de null
*/
var_dump($polo ?? 'Un mensaje');
Agregue un comentario