フォームなど、送信されたデータに値がちゃんとセットされているかわからないですよね。
そんな時は「isset」を使うと便利なのですが、使い方がわからないという方も少なくないはず。
今回はPHP初心者に向けて、
・issetとは
・issetの書き方
・issetとemptyの使い分け
について解説していきます。
PHP初心者がつまづきやすいポイントを分かりやすく解説します。
「isset」の使い方がいまいちよく分からない方は、ぜひ最後まで読んで理解を深めてくださいね。
issetとは
PHPを勉強していると必ず耳にするのが変数という言葉ですよね。
変数とは簡単にいうと値を格納する為の仕組みです。
「isset」はこの変数に値が入っているかどうかを確認するための関数になります。
さらに正確にいうと、「isset」は
・変数に値が入っていて、
・かつNULL(空っぽ)ではないときに、
TRUE(正)を、返り値とします。
入力フォームから、住所やメールアドレスなどの必須項目がきちんと入力されているかチェックするなどチェック処理として使う事が出来ます。
issetの書き方
「isset」は「if」や「else」と合わせて使われる事が多いです。
では実際に書いてみましょう。
1 2 3 4 5 6 7 8 9 10 11 |
<?php $cat = true; if( isset ($cat)){ echo “「これは猫です」”; }else{ echo “「これは犬です」”; } ?> |
この場合、結果は
「これは猫です」
が表示されます。
どのように処理されているのかというと
1 2 3 4 5 6 7 8 9 10 11 |
<?php $cat = true; if( isset ($cat)){ echo “これは猫です”; //変数「$cat」がセットされているときの処理 }else{ echo “これは犬です”; //変数「$cat」がセットされていないときの処理 } ?> |
$catという変数がセットされているときに文字列「これは猫です」が表示されます。
では「これは犬です」を表示させるにはどうしたら良いでしょう?
1 2 3 4 5 6 7 8 9 10 11 |
<?php $cat = null; if( isset ($cat)){ echo “これは猫です”; }else{ echo “これは犬です”; } ?> |
この場合、結果は
「これは犬です」
が表示されます。
こちらはどのような処理がされているかというと
1 2 3 4 5 6 7 8 9 10 11 |
<?php $cat = null; //ここで$catは空っぽだと宣言している if( isset ($cat)){ echo “これは猫です”; }else{ echo “これは犬です”; } ?> |
$cat = null;と表記することで、$catは空っぽですよと宣言することが出来ます。
先ほども記述したように「isset」はNULLか変数に値が入ってないときはFALSEを返します。
これを見ると、「$catが存在する時、文字列として「これは猫です」を表示するが、しかしそうでなかったときには文字列として「これは犬です」を返す」という処理をしているのです。
issetとemptyの使い分け
では次に「isset」と「empty」の違いについて解説していきます。
「isset」も「empty」も渡された値によってTULEもしくはFALSEを返します。
似た様な関数ですが、判定したい情報によって関数を使い分けた方が良いでしょう。
「isset」は先ほども解説した通り、その変数が存在するかどうかを判定します。
ですが「empty」は英語の「empty」が空っぽというのを意味しているように、変数の中身が空っぽかどうかを判定します。
書き方は「isset」と同じ様な書き方が出来ます。
しかし前述したとおり空っぽの定義は少し違うので注意が必要です。
では実際に「empty」を動かしてみましょう
1 2 3 4 5 6 7 8 9 10 11 12 |
<?php $cat = “”; if( empty ($cat)){ echo “これは猫です”; }else{ echo “これは犬です”; } ?> // これは猫です と出力される |
このとき、$catは空っぽなので「empty」、つまり空っぽだということがわかりますね。
このように「empty」では変数が空っぽの時にTRUEになります。
「empty」では要素が0やNULLのときもTRUEになります。
基本的に、「isset」と「empty」では返り値が逆になります。
しかし、以下の場合には注意が必要です。
・「””(空の文字列」
・「0(整数の0)」
・「”0”(文字列の0)」
この場合、「isset」と「empty」は共にTRUEを返します。
その為、判定する条件によってこの2つを使い分けるようにしましょう。
「isset」と「empty」は混同しやすい為、2つの違いをよく覚えておきましょう。
まとめ
今回は空っぽの値を調べるために
・issetとは
・issetの書き方
・issetとemptyの使い分け
を解説しました。
PHPでデータを扱う上で、「isset」は必要不可欠なものですので、しっかりと理解できるようにしておきましょう。