仕事中、どうしてもIE8で表示が崩れるという現象が発生。
エンジニア総出で原因の究明にあたった。
そこで見つかったのが下の表現。
if (!$type == 'side') {・・・}
…いや、まあきっとだな…
if ($type != 'side') {・・・}
と言いたかったんだろうけど…文法思いっきりミスってるじゃん…。
間違った文法のほうを紐解くと、たぶんこんな感じ。
if (!isset($type) && ($type == 'side')) {・・・}
これが100%成り立たない(偽になる)ことはPHP初心者でもわかる。
否定と存在有無判定はまったく違うものだ。
しかし…なんでこんなもんが入ってたんだ…そしてなぜ誰も気が付かなかったんだ…(汗