viernes, 1 de agosto de 2014

Los operadores en PHP - 2 de 2



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!








No hay comentarios:

Publicar un comentario en la entrada