PHPのisset()と!is_null()は同じだと思っていました。
PHPの公式にも、逆の条件として載ってますし。
!isset()って書いてる人がいたら、is_null()の方が良くない?とコメントしていました。
しかし、is_null()でエラーが出ていて、isset()でエラーが出ていないことに気付き、よく調べてみると、
注意: これは、関数ではなく 言語構造のため、可変関数 を用いて コールすることはできません。
isset()は、関数ではなく言語構造。
empty()とかと一緒でエラーが出ないようです。
エラーが出る可能性がある時は、isset()を使うようにしましょう!
ちなみに、細かい所では、こういう違いもあるようです。
・ isset()と!is_null()の値は常に等しいか
https://cnrd.hatenadiary.org/entry/20091127/1259235755