現象
\$valueというレコードからschool_rankというカラム(int)を抽出して有無を判定していたところschoolランクが0の時はfalseと認識してしまうので|| $value->school_rank == 0を追加した。
if ( $value->school_rank || $value->school_rank == 0) {
処理
}
が、この時甘く==をつけてしまったため、今度は\$value->school_rankがnullのときは0を扱われてしまった。
if ( $value->school_rank || $value->school_rank === 0) {
処理
}
教科書でも書いてるように===で厳しく判定しないと思わぬバグを生むなと実感した話