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" }
Muchas gracias 😀
Excelente, gracias por la info!
perverso eso me acaba de despejar la duda.
saludos
Aprendiendo PHP… muchas grcias