2009-08-19 19 views
12

私はそれが2と感嘆符は、等号だPHPの!==比較演算子はどういう意味ですか?

if($output !== false){ 
} 

を見ました。

ほとんど同じではないように動作します。何か特別な意味がありますか?

+0

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

+0

とhttp://stackoverflow.com/questions/1139154/is-thereを見ます-a-difference-between-in-php – VolkerK

+0

[参考文献 - このシンボルはPHPで何を意味していますか?](http://stackoverflow.com/questions/3737139/reference-what-does-this-symbol -mean-in-php) – kapa

答えて

31

厳密な等価演算子(===、!==)であるため、結果を真にするには、2つのオペランドの型と値が同じでなければなりません。例えば

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 

詳細情報:

5

PHPの===演算子を使用して、平等とタイプの両方のための比較またはテスト変数することができます。

そう!==(===ていない)されては

2

はい、それはまた、二つの値が同じ型であることを確認します。 $ outputが0の場合、!==は数値またはブール値ではないため、falseを返します。

4

!==は、変数のタイプと値をチェックします。したがって、たとえば、$aとして

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

意志出力だけで「世界」は、整数と$bは文字列です。

PHP operatorsのマニュアルページをチェックしてください。それは良い説明があります。

関連する問題