3. Operadores de comparación
- a. La igualdad
El operador se designa por ==.
Por ejemplo:
<?php
$numero_1 = 11;
$numero_2 = 11.0;
if ($numero_1 == $numero_2) {
echo "Los dos números son idénticos";
}
else {
echo "Los dos números no son idénticos";
}
?>
Da como resultado:
Los dos números son idénticos
En efecto, los números 11 y 11.0 no son del mismo tipo, pero los valores son iguales.
Por el contrario, el operador === prueba el valor y el tipo. Por tanto, 11, de tipo int, es distinto de 11.0, que es de tipo float.
Ejemplo:
<?php
$numero_1 = 11;
$numero_2 = 11.0;
if ($numero_1 === $numero_2) {
echo "Los dos números son idénticos";
}
else {
echo "Los dos números no son idénticos";
}
?>
Da como resultado:
Los dos números no son idénticos
- b. La diferencia
El operador se designa por !=.
Por ejemplo:
<?php
$numero = 11;
$cadena = "11";
if ($numero != $cadena) {
echo "El número y la cadena son diferentes";
}
else {
echo "El número y la cadena no son diferentes";
}
?>
Da como resultado:
El número y la cadena no son diferentes
Por el contrario, !== prueba el valor y el tipo de las dos variables, por tanto:
<?php
$numero = 11;
$cadena = "11";
if ($numero !== $cadena) {
echo "El número y la cadena son diferentes";
}
else {
echo "El número y la cadena nos son diferentes";
}
?>
Da como resultado:
El número y la cadena son diferentes
- c. La comparación
El operador «inferior a» se designa <.
Por ejemplo:
<?php
$numero_1 = 11;
$numero_2 = 12;
if ($numero_1 < $numero_2) {
echo "El número ".$numero_1" es estrictamente inferior al número
".$numero_2;
}
else {
echo "El número ".$numero_1" no es estrictamente inferior al número "
.$numero_2;
}
?>
Da como resultado:
El número 11 es estrictamente inferior al número 12
El operador «inferior o igual a» se designa <=.
Del mismo modo, el operador «superior a» se designa >.
Por ejemplo:
<?php
$numero_1 = 11;
$numero_2 = 12;
if ($numero_1 > $numero_2) {
echo "El número ".$numero_1" es estrictamente superior al número
".$numero_2";
}
else {
echo "El número ".$numero_1" no es estrictamente superior al número
".$numero_2";
}
?>
Da como resultado:
El número 11 no es estrictamente superior al número 12
El operador superior o igual se designa >=.
4. El operador ternario
El operador se designa por ?. Es igual a if else, pero en una sola línea. Su sintaxis es:
condición?expresión1:expresión2
Si la condición es verdadera, se utiliza la expresión1, y se utiliza la expresión2 si no lo es.
Por ejemplo:
<?php
$numero_1 = 11;
$numero_2 = 12;
echo ($numero_1 == $numero_2)?"Los dos números son idénticos":
"Los dos números no son idénticos";
?>
Da como resultado:
Los dos números no son idénticos
Los valores de $numero_1 y $numero_2 son distintos, entonces la condición ($numero_1 == $numero_2) es falsa y por tanto se muestra la expresión2, es decir, "Los dos números no son idénticos".
5. Operadores lógicos
- a. Y
El operador se designa por && o and.
Por ejemplo:
<?php
$edad = 10;
$nombre = "Juan";
if ($edad == 10 && $nombre == "Juan") {
echo "ok";
}
else {
echo "no correcto";
}
?>
Da como resultado:
ok
Para que se compruebe la condición if, es necesario que $edad sea igual a 10 y que $nombre sea igual a "Juan". Como se da el caso, muestra ok.
- b. O
El operador se designa por || u or.
Por ejemplo:
<?php
$edad = 10;
$nombre = "Roberto";
if ($edad == 10 || $nombre == "Juan") {
echo "ok";
}
else {
echo "no correcto";
}
?>
Da como resultado:
ok
Para que se compruebe la condición if, $edad debe ser igual a 10 o bien $nombre igual a "Juan". Como es el caso, muestra ok.
Otro ejemplo:
<?php
$edad = 11;
$nombre = "Roberto";
if ($edad == 10 && $nombre == "Juan") {
echo "ok";
}
else {
echo "no correcto";
}
?>
Da como resultado:
no correcto
No existe ni $nombre igual a "Juan", ni $edad igual a 10, entonces la condición if es falsa y por tanto se ejecuta el código correspondiente al bloque del else (si no).
Si los operadores || y && están seguidos, el operador && tiene prioridad sobre el operador ||.
Otro ejemplo:
<?php
$edad = 11;
$nombre = "Roberto";
if ($nombre == "Roberto" || $edad == 11 && $edad == 10) {
echo "ok";
}
else {
echo "no correcto";
}
?>
Y es igual a:
<?php
$edad = 11;
$nombre = "Roberto";
if ($nombre == "Roberto" || ($edad == 11 && $edad == 10)) {
echo "ok";
}
else {
echo "no correcto";
}
?>
Da como resultado:
ok
En este supuesto, si pone los paréntesis, ocurre lo siguiente:
<?php
$edad = 11;
$nombre = "Roberto";
if (($nombre == "Roberto" || $edad == 11) && $edad == 10) {
echo "ok";
}
else {
echo "no correcto";
}
?>
Y da como resultado:
no correcto
Por tanto, según donde ponga los paréntesis, el significado de la condición puede ser completamente diferente.
Espero haber ayudado en algo. Hasta la próxima oportunidad!
Twittear
No hay comentarios:
Publicar un comentario