数値と文字列の比較
だから、数値(int型)と文字列の比較は比較演算子利用しちゃだめだって。
var_dump('0' == 0); // bool(true)
var_dump('' == 0); // bool(true)
var_dump('a' == 0); // bool(true)
重い言語erの人はキャスト演算子使いまくるだろうけど、、、見づらいんです?
「文字列型比較してるとわかりやすいだろう」と言われたけどサ。
var_dump((string)'0' === (string)0); // bool(true)
var_dump((string)'' === (string)0); // bool(false)
var_dump((string)'a' === (string)0); // bool(false)
おとなしくstrcmpでも使ってなさいと思います。
var_dump(!strcmp('0', 0)); // bool(true)
var_dump(!strcmp('', 0)); // bool(false)
var_dump(!strcmp('a', 0)); // bool(false)
カテゴリー: 日記