2

この式が PHP で true と評価されるのはなぜですか。

0 == " UNKNOWN" 
4

4 に答える 4

3

文字列は比較のために int に強制され、その文字列の int 値は 0 であるためです。

http://php.net/manual/en/language.types.type-juggling.phpを参照してください。

于 2013-10-15T04:06:50.947 に答える
2

2 つの変数を大まかに比較しています。その演算子を使用するための規則は、大まかな比較表で説明されています。

于 2013-10-15T04:08:38.160 に答える
2

==あなたの値の1つを他のものと一致するように型キャストします。

(int)" UNKNOWN"0 を返します

(int)00 を返します

それで

0==" UNKNOWN"true

于 2013-10-15T04:08:46.827 に答える
0
$string == " UNKNOWN";
var_dump((int)$string); //gives 0

そのため、true と評価されます。

于 2013-10-15T04:08:30.857 に答える