2009-07-16 13 views

Respuesta

25

El operador != compara el valor, mientras que el operador !== también compara el tipo.

Eso significa esto:!!

var_dump(5!="5"); // bool(false) 
var_dump(5!=="5"); // bool(true), because "5" and 5 are of different types 
+0

null! = "null" no es falso, ejemplo equivocado. También echo imprime 1 para bool (verdadero) y nada para bool (falso). La salida real del fragmento de código es 11. – VolkerK

+0

@VolkerK - No tengo un intérprete de PHP en frente mío, pero espero que este sea un ejemplo más preciso. :-) –

+0

Mi error. Gracias por la edición, Ben Blank. Con suerte, el póster original no se confundió. – Salty

3

== cheques tipo constructivo así como el valor, sólo comprueba = valoran

$num = 5 

if ($num == "5") // true, since both contain 5 
if ($num === "5") // false, since "5" is not the same type as 5, (string vs int) 
7

!= es la inversa del operador ==, que verifica la igualdad a través de tipos

!== es el inverso del operador ===, que verifica la igualdad solo para cosas del mismo tipo.

+0

ver también http://ca2.php.net/manual/nl/language.operators.comparison.php – txwikinger

2

=== se llama Operador de identidad. Y se discute extensamente en las respuestas de otras preguntas.

Las respuestas de otros aquí también son correctas.

4

!= es para "no igual", mientras que !== es para "no idéntico". Por ejemplo:

'1' != 1 # evaluates to false, because '1' equals 1 
'1' !== 1 # evaluates to true, because '1' is of a different type than 1 
1

El operador != devuelve verdadero, si sus dos operandos tienen valores diferentes.

Operador !== devuelve verdadero, si sus dos operandos tienen valores diferentes o son de tipos diferentes.

aplausos

Cuestiones relacionadas