1
這太瘋狂了。我在寫一個應用程序時遇到了這個問題。以下代碼將回顯「是」:PHP將字符串「現金」解釋爲零
<?php
$var = 0;
if ($var == 'cash') echo 'YES';
else echo 'WEIRD';
?>
WHY ???零解釋如何等於'現金'?
這太瘋狂了。我在寫一個應用程序時遇到了這個問題。以下代碼將回顯「是」:PHP將字符串「現金」解釋爲零
<?php
$var = 0;
if ($var == 'cash') echo 'YES';
else echo 'WEIRD';
?>
WHY ???零解釋如何等於'現金'?
當你比較一個數字和一個字符串時,該字符串被轉換爲數字。將字符串'現金'轉換爲數字時,結果爲零。您可以使用嚴格比較(===),因此不僅可以比較值,還可以比較類型,並且不會涉及type casting
您試圖將整數與字符串進行比較。
我會用===運營商進行嚴格的比較
爲$ VAR應該是一個字符串值或數字? – 2012-03-20 15:26:51
這是PHP最基本的行爲之一,並在無數問題中提到。請參閱[這裏](http://php.net/manual/en/types.comparisons.php)以獲取相關文檔,如果您想查看您期望看到的內容,請使用'==='。 – Jon 2012-03-20 15:27:06
@MarcB RTFM ...很好。 – iambriansreed 2012-03-20 15:29:26