我對PHP中的truth
有些困惑。爲什麼「someString」== 0在PHP中的計算結果爲true
我的理解是0評估爲false,並且非空字符串(除非字符串爲「0」)評估爲true。
這是因爲我希望:
var_dump((bool) 0); // prints "boolean false"
var_dump((bool) 'someString'); // prints "boolean true"
但後來我感到驚訝以下結果:
var_dump((0=='someString')); // prints "boolean true"
我的問題是,爲什麼0=='someString'
評估爲真?
Nanne - 我瞭解這些運營商之間的區別。這是一個關於如何在不同類型的'=='比較中評估真/假的問題。不同的IMO。 –
php是一種軟鍵入語言,它可以隨時轉換類型0可以是字符串也可以是整數,具體取決於它在哪裏使用而沒有更改 –
標題中出現錯誤。「someString」== 0不計算爲true,因爲這是一個字符串比較,但0 ==「somestring」,因爲它是一個數字比較。 –