La comparacion == no tiene en cuenta el tipo de la variable que comparas.
Ej:
Código PHP:
$var_uno = 1; //Esta variable es del tipo entero
$var_dos = "1"; //Esta variable es del tipo string
if($var_uno == $var_dos) {
echo "iguales";
}else{
echo "no iguales";
}
//En este caso serian iguales aunque una variable sea de tipo string y otra es de tipo int
La comparacion === tiene en cuenta el tipo de variable que comparas
Código PHP:
$var_uno = 1; //Esta variable es del tipo entero
$var_dos = "1"; //Esta variable es del tipo string
if($var_uno === $var_dos) {
echo "iguales";
}else{
echo "no iguales";
}
//Si colocas === devolveria no iguales, ya que los tipos no son iguales.
=== es lo mismo que usar esto
Código PHP:
$var_uno = 1; //Esta variable es del tipo entero
$var_dos = "1"; //Esta variable es del tipo string
if((get_type($var_uno) == get_type($var_dos)) && ($var_uno == $var_dos){
echo "iguales";
}else{
echo "no iguales";
}
//El resultado seria "no iguales";