phpのissetとemptyとis_nullの違い

issetは返り値に対してチェックを行うとエラーになる。

1
2
これは、Fatal errorになる。
isset(bar());

emptyとis_nullは返り値に対してチェックができる。

1
2
3
これは、OK.
empty(bar());
is_null(bar());

なので、!empty(bar())とかがあって、isset(bar())のほうが否定(反転)がとれてリーダブルコードじゃんとか思って変更するとエラーになるw