2009-08-19 32 views
12

vi¿Qué significa! == operador de comparación en PHP?

if($output !== false){ 
} 

Es un signo de exclamación con dos signos de igual.

Funciona casi como si no fuera igual. ¿Tiene algún significado extra?

+0

ver http://stackoverflow.com/questions/80646/how-do-the-equality-and-identity-comparison-operators-differ – VolkerK

+0

y http://stackoverflow.com/questions/1139154/is-here -a-diferencia-entre-y-en-php – VolkerK

+0

posible duplicado de [Referencia - ¿Qué significa este símbolo en PHP?] (http://stackoverflow.com/questions/3737139/reference-what-does-this-symbol -mean-in-php) – kapa

Respuesta

31

Son los operadores de igualdad estricta (===,! ==), los dos operandos deben tener el mismo tipo y valor para que el resultado sea verdadero.

Por ejemplo:

var_dump(0 == "0"); // true 
var_dump("1" == "01"); // true 
var_dump("1" == true); // true 

var_dump(0 === "0"); // false 
var_dump("1" === "01"); // false 
var_dump("1" === true); // false 

Más información:

5

operador === de PHP le permite comparar o variables de la prueba, tanto para la igualdad y el tipo.

Así! == está (no ===)

2

sí, también comprueba que los dos valores son del mismo tipo. Si $ output es 0, entonces! == devolverá false, porque no son números ni booleanos.

4

!== comprueba el tipo de variable así como el valor. Así, por ejemplo,

$a = 1; 
$b = '1'; 
if ($a != $b) echo 'hello'; 
if ($a !== $b) echo 'world'; 

salida de voluntad simplemente 'mundo', como $a es un entero y $b es una cadena.

Debe consultar la página de manual en PHP operators, tiene algunas buenas explicaciones.