2009-08-19 10 views
12

je visQue signifie! == opérateur de comparaison en PHP?

if($output !== false){ 
} 

Il est un point d'exclamation avec deux signes égal.

Cela fonctionne presque comme non égal. Cela a-t-il une signification supplémentaire?

+0

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

+0

et http://stackoverflow.com/questions/1139154/is-there -a-difference-between-and-in-php – VolkerK

+0

duplication possible de [Référence - Que signifie ce symbole en PHP?] (http://stackoverflow.com/questions/3737139/reference-what-does-this-symbol -mean-in-php) – kapa

Répondre

31

Ce sont les opérateurs d'égalité stricte (===,! ==), les deux opérandes doivent avoir le même type et la même valeur pour que le résultat soit vrai.

Par exemple:

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 

Plus d'informations:

5

opérateur === de PHP vous permet de comparer ou variables de test pour l'égalité et le type.

Alors! == est (non ===)

2

oui, il vérifie également que les deux valeurs sont du même type. Si $ output est 0, alors! == retournera false, car ce ne sont ni des nombres ni des booléens.

4

!== vérifie le type de la variable ainsi que la valeur. Ainsi, par exemple,

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

volonté juste sortie « monde », comme $a est un entier et $b est une chaîne.

Vous devriez consulter la page de manuel sur PHP operators, il y a quelques bonnes explications.