issetは__get()越しに取得できる変数でfalseを返すらしい
__get()
使ってたの忘れてて、なんでfalseが返ってくるのか15分くらい悩んでた。
↓のコードの通りです。
確かにプロパティとしては存在しないから、言われてみれば isset()
でfalseが返ってくるのはその通りなんですけど、それなら is_null()
でfalseが返ってくるのが罠っぽいです。
内部的には isset()
のほうが is_null()
より手前で判定してる?
__get()
使ってたの忘れてて、なんでfalseが返ってくるのか15分くらい悩んでた。
↓のコードの通りです。
確かにプロパティとしては存在しないから、言われてみれば isset()
でfalseが返ってくるのはその通りなんですけど、それなら is_null()
でfalseが返ってくるのが罠っぽいです。
内部的には isset()
のほうが is_null()
より手前で判定してる?