PHPで、文字列と数値0の比較は等価になるようです
2007年12月14日
スポンサード リンク
zestyping: Why PHP should never be taught.
Suppose A equals B, and also B equals C. Any reasonable person would expect that A equals C, right?
PHPで、文字列と数値0の比較は等価になるようです。
例えば、次のコードを実行すると「equal」が出力されます。
<?php
$a = 0;
$b = "str";
if ($a == $b) {
echo "equal";
} else {
echo "not equal";
}
?>
更に、0と、undefined な変数を比較しようとすると、それも等価になります。
以下はその例で、実行結果は「equal」が出力されます。
<?php
$a = 0;
if ($a == $b) {
echo "equal";
} else {
echo "not equal";
}
?>
覚えておかないと、思わぬところでバグ混入となってしまいそうなので、覚えておきましょう。
追記)ちなみに、型のチェックも行う比較は「===と==、!=と!==の違い - phpspot」を参照下さい。
スポンサード リンク
投稿者 KJ : 2007年12月14日 10:08
|
![]()
間違いの指摘をしていただける方はメールでお願いします
最新のブログ記事
- 独自の分野でインターネットの最先端を走りませんか?株式会社クレッシェンドをインタビュー
- 2008年10月7日 管理人のブックマーク
- PHPを使ってミニブログを作るチュートリアル
- おいしそうな青りんごを1から作るPhotoshopチュートリアル
- 青ベースの綺麗なサイトデザイン集
- 2008年10月6日 管理人のブックマーク
- SymfonyでのWeb開発に役立つFirebug拡張「FireSymfony」
- GoogleWebToolkit用PHP5フレームワーク「GwtPHP」
- アップル風の画像を作るためのPhotoshopチュートリアル集
- ページ内の画像を一括で最適化「smush.it」
- ブラウザ上で動作するPhotoshop風アプリ「Sumo Paint」


















