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」を参照下さい。
スポンサード リンク
Advertisements
SITE PROFILE
最新のブログ記事(新着順)
- くちばしフォント【商用可】
- 小説表紙などに使えそうな商用可なフォント「になロマン」
- 筆で書いたようなカナ書体「筆竹仮名B」
- 無料・商用利用可な丸文字ピクセルフォント「マルミーニャM」
- スペースコブラ風フォント
- Next.jsのVercelから商用利用可能なフリー汎用フォント「Geist Font 」
- 無料で使えるいい感じの日本語フォント「しっぽり太ゴシック」
- CSSのみで実装された500種類のローディングアニメーション「CSS Loaders」
- 画像ホバーで様々なエフェクトをかけられる「Izmir」
- CSSのbox-shadowをGUIで生成できる「CSS Box Shadows Generator」
- 過去のエントリ