2015-07-28 79 views

回答

2

你的字符串"1|2"被強制轉換爲整數的比較整數1

PHP's type casting rules,鑄造字符串整數通吃領先的數字從字符串到第一個非數字(給1,和忽略|2因爲|是第一個非數字的。

1 == 1爲真

+0

「1 | 2」是字符串! –

+0

謝謝你的回答!如何解決它然後返回錯誤? –

+0

如何解決它?重寫你的邏輯是邏輯上返回一個假的東西(例如''1 | 2 == == 2'或'1 | 2 == 1') –

1

當轉換成數"1|2"變得1因爲該演員陣列會處理該字符串直到第一個非數字字符。 1 == 1所以這是真的。如果比較的字符串數串期間==比較

轉換成數字或所述比較涉及 數字串,則每一個字符串被轉換爲數字和數值進行 比較。

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

如果你要修復它使用===運營商也將檢查類型