0

次の 2 つのブール式が異なる結果を返す理由を理解するのに苦労しています。

(0 == "some_string") returns TRUE
(0 === "some_string") returns FALSE

0 と "some_string" が同じ型ではないために2 番目の式が返さFALSEれることは理解していますが、最初の式が TRUE を返す理由がわかりません。PHP は 0 を FALSE と評価し、空でない文字列を TRUE と評価します。0 は "some_string" と同じではありません。最初の式がどのように評価されるかわかりません。私が見逃している基本的な概念はありますか?

4

1 に答える 1

2

これは、 と比較するために にキャスト"some_string"するためです。現状のままです。詳細については、型ジャグリングに関するマニュアル ページを参照してください。int0"some_string"int00 == 0true

于 2012-05-17T23:07:46.840 に答える