Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
Help us understand the problem. What is going on with this article?

PHPのissetと!is_nullを勘違いしていた

More than 1 year has passed since last update.

PHPのisset()と!is_null()は同じだと思っていました。
PHPの公式にも、逆の条件として載ってますし。
!isset()って書いてる人がいたら、is_null()の方が良くない?とコメントしていました。

しかし、is_null()でエラーが出ていて、isset()でエラーが出ていないことに気付き、よく調べてみると、

注意: これは、関数ではなく 言語構造のため、可変関数 を用いて コールすることはできません。

PHP: isset - Manual

isset()は、関数ではなく言語構造。
empty()とかと一緒でエラーが出ないようです。

エラーが出る可能性がある時は、isset()を使うようにしましょう!

ちなみに、細かい所では、こういう違いもあるようです。
・ isset()と!is_null()の値は常に等しいか
https://cnrd.hatenadiary.org/entry/20091127/1259235755

tamucola
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away