yamata.programmer.blog

28歳 プログラマになるために通った道に落ちていた情報を発信します!

【PHP初心者必見】isset関数で変数が存在するか確認する方法【簡単な方法】

今回の記事を読んで欲しい方

  • if文を使って分岐処理をする時に値が入っているかで判断したい方

今回はisset関数で変数が存在するか確認する方法について書いていこうと思います。

 

まずisset関数について

isset関数は、変数の中身の値を確認する関数です。

変数に値がセットされており、かつNULLではない時にtrueを返します。

例ですが、

①$hoge = 'hogehoge';

②$hoge = NULL;

③$hoge

①は変数の中身に「hogehoge」という文字列が入っているのでtrueです。

②は変数の中身がNULLなのでfalseです。

③は変数を宣言しただけで中身が入っていないのでfalse...だと考えがちですが、実は変数を宣言して中身が空だとtrueになります。ご注意ください。

変数自体を宣言していないとfalseとなります。

issetを使うタイミング

冒頭でもお伝えしたとおり、issetは変数の中身を確認する関数です。

inputタグで設定したvalue値が入っているかを確認したり、チェックボックスが何が入っているかを確認します。

中身が入っていればtrueの処理、それ以外はfalseの処理へ遷移させる等使うタイミングは人それぞれですね。

isset関数の書き方

少し上で書いた、中身が入っていればtrueの処理、それ以外はfalseの処理へ遷移させる処理の例を書きます。

if(isset($hoge)){

  trueの処理;

} else {

  falseの処理;

}

一般的な書き方はこんな感じです。

中身がtrueかfalseなので、isset($hoge) == true みたいな書き方で書かなくてOKです。

逆のパターンで、中身が入っていなければtrueの処理、中身が入っていればfalseの処理の書き方もご紹介します。

if(!isset($hoge)){

  trueの処理;

} else {

  falseの処理;

}

isset関数の前に「!」がついただけです。

一般的にプログラミングの世界でびっくりマークは否定だとか一致しない時に用います。

 

実際の開発でisset関数を使ったときの例

次に自分が実際の開発でissetを使った例をご紹介します。

if(!isset($_SESSION["session1"]) && !isset($_SESSION["session2"])){

  $_SESSION["session1"] = $_POST['session1'];

  $_SESSION["session2"] = $_POST['session2'];

}

session1とsession2に値が入っていなければ、前の画面からpostされた値をsession1とsession2にに入れて下さいという処理です。

 

今回のまとめ

変数に値を入れてもいなくても、変数自体を宣言すればisset関数での確認はtrueになる

$hoge = "hogehoge";

$hoge

どちらもtrueです。

変数にNULLを宣言する、もしくは変数自体を宣言しなければisset関数での確認はfalseになる

$hoge = NULL;

$hoge自体をコードとして書かない

どちらもfalseです。

・isset関数の書き方(中身が入っていればtrue、入っていなければfalse)

if(isset($hoge)){

  trueの処理;

} else {

  falseの処理;

}

isset関数の書き方(中身が入っていればfalse、入っていなければtrue)

if(!isset($hoge)){

  trueの処理;

} else {

  falseの処理;

}

今回はisset関数に関しての記事を書きました。

学びがあったら追記していきます。