PHP: Diferencia entre == y ===

A la hora de realizar comparaciones en PHP disponemos de dos operadores == y ===, hoy me han preguntado en qué se diferencian, así que he pensado que no es mala idea explicarlo también aquí.

PHP es un lenguaje muy flexible en cuanto a los tipos de datos, puedes tener una variable con una cadena y compararla con un entero… y no sufrirás la hecatombe que te encontrarías con C o ASP. Y esto es lo que explica la existencia de dos operadores de comparación: == comprueba que los valores sean iguales, independientemente del tipo ya que realiza una conversión antes de comparar. En cambio el operador === comprueba que además de coincidir los valores también coincidan los tipos. Con un pequeño ejemplo se entiende perfectamente

/*Damos a una variable un valor entero*/
$var1 = 0;
/*Damos a otra un valor booleano*/
$var2 = FALSE
/*Si los comparamos con == verás como cumple el condicional, ya que tratará a ambos como booleanos*/
if($var1 == $var2){
  echo "Son iguales"
}
/*En cambio con === no entraría porque no realiza la conversión, de esta forma al tratarse de tipos distintos no entra*/
if($var1 === $var2){
  echo "Son idénticos"
}
Anuncios

3 comentarios en “PHP: Diferencia entre == y ===

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s