文字列と数値を比較するif文を作ったらなぜか文字列なのにifの中に入ってしまってハマったのでメモ。
参考コード
$x = 'all';
if($x == 0){
echo "if文の中に入ってるよ";
echo "xの中身は"$x;
}else{
echo "ifには入らなかったよ";
}
結果
if文の中に入ってるよ
xの中身はall
phpは文字列と数値を比較すると文字列をなぜか0に変換するらしい。
なので下記のように書き換えると解消。
$x = 'all';
if($x === 0){
echo "if文の中に入ってるよ";
echo "xの中身は"$x;
}else{
echo "ifには入らなかったよ";
}
これで結果
ifには入らなかったよ