$a = '1';
$b = '1';
// Method 1
if ($a == $b) { ... }
// Method 2
if ((int)$a == (int)$b) { ... }
哪個更好的解決方案?我在這裏想到編程最佳實踐,而不一定是性能。在比較之前將2個字符串轉換爲int是否更好?
$a = '1';
$b = '1';
// Method 1
if ($a == $b) { ... }
// Method 2
if ((int)$a == (int)$b) { ... }
哪個更好的解決方案?我在這裏想到編程最佳實踐,而不一定是性能。在比較之前將2個字符串轉換爲int是否更好?
您可以簡單地使用Identical運算符。
編輯:現在我看,andre matos已經斷言哪個是最好的方法。
當使用'=='時,PHP將處理周圍的類型,無論如何都會投射它們。因此,在比較它們之前,我無法看到將它們轉換爲整數的優勢。
如果您正在尋找更強大的解決方案,可以將它們轉換爲整數,然後使用Identical('==='),它匹配等式和類型,而不是Equal('==')。
echo 1 == '1'; # true
echo 1 === '1'; # false
echo '1' === '1'; # true
echo '1' == '1'; # true
[===](http://pt2.php.net/manual/en/language.operators.comparison.php) – acm
另一種有用的尖不是數值存儲爲字符串,數值應保持這樣,他們應該被用作數字。 – Starlays