在 PHP 做字串比較時,以下情況會發生問題:

CODE:
  1. <?php
  2. var_dump('01' == '1.');
  3. ?>

以上的 '01' 及 '1.' 是不同,理應回傳 false,但實際執行時卻會回傳 true。原因是 PHP 會自動將兩個字串轉換為數值,而 '01' 及 '1.' 同樣會轉換成 1,所以回傳會是 true。

解決方法是是用 "===" 取代 "==",因此程式碼應改成:

CODE:
  1. <?php
  2. var_dump('01' === '1.');
  3. ?>