2007年11月9日 星期五

PHP 字串比較問題

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



var_dump('01' == '1.');
?>

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

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



var_dump('01' === '1.');
?>

沒有留言: