小ネタというか、チョンボネタというか、本当にネタな話です。
PHPでif文書いてて、まぁ要するにイージーミスなんですけど、「!」を2つ以上書いてしまいまして。つまり以下のような感じです。
if(!! isMethod()) {
echo "true";
} else {
echo "false";
}
function isMethod() {
return true;
}
本来は「false」と出力したかったんですが、見て分かるように一行目のif文の判定の中で「!!」と「!」を2つ重ねてしまったんですね。
ところがなんとこれがエラーにならずに実行できて、しかも「true」を出力するというギャグみたいな事実が判明しました。
ちなみに「!」を3つ重ねると「false」が、4つ重ねると「true」が出力されます。理屈上はいくつでも重ねられるはず。
PHP以外では試してないんですが、他の言語はどうなんでしょうね? 今度試してみたいです。