Programación Web » Aprender PHP y MySQL » Unidad 5. Validaciones en PHP:

Operadores lógicos en PHP

logo php

En otros casos, necesitaremos crear condiciones complejas, que quieran combinar (unir) dos o más condiciones simples en una, para evaluarlas como una sola condición. A elemento que permite combinarlos lo llamamos operador lógico.

Veamos un ejemplo simple aún sin entrar en detalles, para tratar de comprender el concepto. Supongamos que tenemos que averiguar si la edad de un usuario está entre 18 y 65 años para mostrarle un texto especial. Tienen que cumplirse dos condiciones: la primera es que su edad sea mayor a 17 (o “mayor o igual” a 18), y la segunda es que su edad sea menor a 66 (o “menor o igual” a 65):

$_POST["edad"]> 17 
y
$_POST["edad"]< 66

Para evaluar con un solo condicional estas dos condiciones, necesitamos “unirlas”, y convertirlas en una sola condición que sea evaluada como verdadera (si es mayor a 17 y, además, menor a 66) o falsa, en caso contrario. Eso que se usa para unir las dos condiciones en una sola, es lo que denominamos un operador lógico. En este ejemplo, el operador necesario es and (significa y, que es el nombre del operador de conjunción). Para que devuelva verdadera la expresión completa, necesitamos que sea verdadera la primera condición y que además sea verdadera la segunda.

En este caso, le pediríamos que ingrese la edad un campo de texto (supongamos que el name de ese campo sea “edad”) y la evaluáramos de la siguiente manera (de paso, observamos que hemos redactado cada condición con otros operadores de comparación que en el caso anterior, esta vez usado >= y <= y modificando el valor que se comparará)

if ($_POST["edad"] >= 18 and $_POST["edad"] <= 65){
print ("Esta en el rango solicitado");
} else {
print ("Fuera del rango"); 
}

Notemos que combinamos dos condiciones completas en una sola, incluso cada una de ellas podría haberse colocado por separado, en un if distinto, individualmente:

$_POST["edad"]>= 18 
y
$_POST["edad"]<= 65

Lo único que hemos hecho es unirlas con el operador and. Por su puesto, podemos unir más de dos condiciones, usando un mismo operador o distinto. Imaginemos que necesitamos evaluar si la edad es mayor a 17 y menos a 66, o el estado civil es “viudo”; las tres condiciones por separado serian:

$_POST["edad"]>= 18 
y
$_POST["edad"]<= 65 
o
$_POST["estado"] =="viudo"

Al unir, usaríamos esta sintaxis:

if ($_POST["edad"]>= 18 and $_POST["edad"] <= 65 or $_POST["estado"] =="viudo") {
print ("Está en el rango solicitado"); 
}

En este caso, primero se evaluarían las condiciones unidas mediante el oparador and (que será mayor a 17 y menor a 66) y si eso es verdad, ya es suficiente para que toda la expresión se considere verdadera. Del mismo modo, si esa primera parte fue falsa, pero el estado era “viudo”, al estar unidas por el operador or, devuelve verdadero, ya que ese operador necesita que al menos una de las condiciones sea cierta, sin importar si otras no lo son. Podemos unir cualquier cantidad de condiciones, variando los operadores libremente y creando una única condición que será evaluada en conjunto.

Artículos de navegación

Acerca del Profesor

Adrián Delgado Rodríguez

Ingeniero en Computación, docente por convicción y apasionado por la programación Web.

Actualmente trabaja como Profesor para en el Centro Universitario de la Costa de la Universidad de Guadalajara y como Desarrollador Web.

Síguenos:

 

Ver el perfil completo de Hugo Adrián Delgado Rodríguez (akus.net).

Deja un comentario





Diseño de páginas Web en Puerto Vallarta y Bahía de Banderas akus.net
subir

Síguenos en Facebook

Artículo de la semana

Cómo iniciar una página WebMetodología para la creación de sitios

Comprende las fases de Análisis, Planificación, Contenido, Diseño. ¿Qué método utilizas?