冷静に考えれば分かることなんですが、いちおうメモ残しておきます。
1 == 1; // => true
"1" == 1; // => true
null == 0; // => true
null === 0; // => false
感覚的に3つ目、nullと0を比較してtrueになる!?というのが最初は不思議でして。
というか不具合埋めちゃいまして。
「==(イコール2つ)」は等価演算子なので、型を自動変換して比較します。
「===(イコール3つ)」は厳密等価演算子なので、型も含めて同じかどうかを比較します。
なので、nullと0が同じという評価に…。
phpゆるふわ〜