引用:
psycho寫到:
php 的string 比較有夠怪異的
<?php
$a = "0e2";
$b = "0e3";
if ($a == $b) print '$a == $b'."\n"; // True
if ($a === $b) print '$a === $b'."\n"; // False
if ("000e002073" == "0e2857") print '"000e002073" == "0e2857"'."\n"; // True
?>
請猜執行結果
這是官網下方的範例嗎?
通常字串的比較,不會想用 == 或 === 去做比較,任何一種程式語言好像都有這樣習慣。?
因為遇到像這種數字字串,有些語言會作型態轉換轉成數值型態去做比較。結果往往出乎你的意料之外。
PHP 通常最好用內建 FUNCTION 去比較字串。
有錯請指正。
官網說明
http://tw2.php.net/operators.comparison
http://tw2.php.net/manual/en/types.comparisons.php
[jocosn 在 2008-5-8 03:24 AM 作了最後編輯]