PHP

【PHPの基礎】isset関数をマスターしよう! empty関数との違いも解説

今回解決できる内容!

✔️変数に値が入っているか確認したい

✔️issetとemptyの違いは?

✔️POST送信された際に値がセットされてるか確認したい

今回はisset関数についてご説明します!

実際の開発では、GETやPOST送信した際に値がセットされているか確認するなど実戦でもよく使用される関数なので今回で是非マスターしましょう!

関数に関して詳しく学びたい方は下記をご参考下さい!

関数
【PHPの基礎】関数をマスターしよう! 今回解決できる内容! ✔️関数とはなんだろう? ✔️関数の使い方は? ...

独学がつらくなった方は下記をご覧ください!

>>【初心者必見!】無料体験ができるプログラミングスクールをご紹介!

【基礎編】isset関数とは

isset関数は変数に値が入っているかどうかを確認する関数になります。

さらに正確にいうと、issetは

変数に値が入っていて、かつNULL(空っぽ)ではないときに、TRUE(正)を、返り値とします。

実際に使い方を確認してみましょう。

【基礎編】isset関数の使い方

サンプルコード

isset関数の実際の使い方を確認してみましょう。

<?php

$name='サラプロ';

if(isset($name)){
  echo'私はサラプロです';
}else{
  echo'私はサラプロではないです';
}

 ?>

結果は下記のようになります。

if文を用いて条件分岐しています。$nameという変数に「サラプロ」という値がセットされているので、trueが返されて、「私はサラプロです」が実行されます。

if文に関しては下記の記事を参考にして下さい。

>>【PHPの基礎】if文をマスターしよう!

これを’私はサラプロではないです’を表示させるためにはどのようにすれば良いでしょうか?

サンプルコード

<?php

$name=null;

if(isset($name)){
  echo'私はサラプロです';
}else{
  echo'私はサラプロではないです';
}

 ?>

結果は下記のようになります。

変数がNULLのため、issetはFALSEを返します。

つまり、「私はサラプロではないです」が表示させれます。

【応用編】issetとemptyの違い

issetとemptyは、条件分岐の判定を行う際に使われることが多いです。

使い方を間違えることがよくあるので、ここで確認してみましょう!

✅isset:変数にNULL以外がセットされていればtrueを返す

✅empty:変数が空(空文字,0,NULL,false,空の配列)だったらtrueを返す

実際の例を確認してみましょう!

まずはissetに関してです。

サンプルコード

<?php

$test1='';
var_dump(isset($test1));

$test2=0;
var_dump(isset($test2));

$test3=NULL;
var_dump(isset($test3));

$test4=false;
var_dump(isset($test4));

$test5=array();
var_dump(isset($test5));

$test6='a';
var_dump(isset($test6));

?>

結果は下記の通りです。

コード解説

先程の解説の通り、issetは変数にNULL以外がセットされていればtrueを返すので「$test3」のみが「false」を返します。

次にemptyを確認してみましょう!

サンプルコード

<?php

$test1='';
var_dump(empty($test1));

$test2=0;
var_dump(empty($test2));

$test3=NULL;
var_dump(empty($test3));

$test4=false;
var_dump(empty($test4));

$test5=array();
var_dump(empty($test5));

$test6='a';
var_dump(empty($test6));

?>

結果は下記の通りです。

コード解説

先程の解説の通り、emptyは変数が空(空文字,0,NULL,false,空の配列)だったらtrueを返すので、文字列がセットされている「$test6」のみが「false」を返します。

独学がツラくなった方へ

まとめ

今回は以上になります。

今回解説した内容

✅isset関数の使い方

✅issetとemptyの違い

✅issetを用いたPOSTメソッドの存在確認

isset関数と似たような関数でarray_key_exists関数というものがあります。こちらも是非一緒にマスターして下さい!

>>【PHPの基礎】array_key_exists関数をマスターしよう!