2013-01-23

どうも違うっぽいです

コメントありがとうございます元増田です。

一瞬そうかと思ったのですが、

stringキャストしてから比較してるわけではないようです。

http://anond.hatelabo.jp/20130123190650

------------------------------------------------------------

if ('5e0' == 5) {

//こっちに分岐

echo "true";

} else {

echo "false";

}

if ('5e0' == '5') {

//こっちに分岐

echo "true";

} else {

echo "false";

}

$ArrTest = array(

'5e0' => ''

);

if (array_key_exists(5, $ArrTest) == true) {

echo "true";

} else {

//こっちに分岐

//そのまま比較しているわけでもstring比較しているわけでもないらしい

echo "false";

}

exit;

記事への反応 -
  • PHP使っている人ならわかると思うけど、 PHPはif文での比較時に怪しげな型変換が起こる。 ポイントは以下の通り ・文字列型と数値型の比較の場合、  数値型と同じ型にキャストされ...

    • array の keyexistは 数値ではなく 文字にキャストされているのでは? 0を文字にキャストすると"0"だろ

      • コメントありがとうございます。元増田です。 一瞬そうかと思ったのですが、 stringにキャストしてから比較してるわけではないようです。 http://anond.hatelabo.jp/20130123190650 -------------------...

        • ✕ //そのまま比較しているわけでもstringに比較しているわけでもないらしい ○ //そのまま比較しているわけでもstringにキャストしているわけでもないらしい

記事への反応(ブックマークコメント)

ログイン ユーザー登録
ようこそ ゲスト さん