1

なぜphpの

'00' == '0000'

表現はtrue

マニュアルのどこかに説明されていますか?

:

これ:

数値を文字列と比較する場合、または比較に数値文字列が含まれる場合、各文字列は数値に変換され、比較は数値として実行されます。

この場合には適していません。両方のオペランドが文字列です。

4

5 に答える 5

4

「数値を文字列と比較する場合、または比較に数値文字列が含まれる場合、各文字列は数値に変換され、数値として比較が実行されます。」( PHP マニュアル)

于 2013-01-05T23:00:40.300 に答える
3

もちろん

== compares values and neglects type
=== compares values and types

はい、これ:

http://php.net/manual/en/language.operators.comparison.php

*更新:

この URL のこの部分をお読みください。

http://php.net/manual/en/function.intval.php

文字列の左端の文字にもよりますが、文字列はほとんどの場合 0 を返します。整数キャストの一般的なルールが適用されます。

于 2013-01-05T22:58:47.693 に答える
2

この文字列を比較すると、両側がゼロになるため、0 == 0 が true になるため、'00' === '0000' こちらを使用してみてください。

于 2013-01-05T22:59:48.370 に答える
1

読むだけ:

[...] 比較に数値文字列が含まれる場合、各文字列は数値に変換され、比較は数値的に実行されます

おそらく邪魔だった部分を取り除きました。

于 2013-01-05T23:02:25.583 に答える
0

覚えておくのもいいですね

数値を文字列と比較する場合、または比較に数値文字列が含まれる場合、各文字列は数値に変換され、数値として比較が実行されます。これらの規則は、switch ステートメントにも適用されます。比較が === または !== の場合、値だけでなく型も比較するため、型変換は行われません。ここにリンクの説明を入力

でも、みんなの言うことはすべて正しい!

于 2013-01-05T23:03:19.840 に答える