【PHP入門】isset関数の使い方を初心者向けに解説!

プログラミング言語の辞書

PHPには多くの便利な組み込み関数がありますが、その中でもisset関数は特に重要です。isset関数は、変数が定義されているかどうかを確認するために使用されます。変数が定義されているかどうかを事前にチェックすることで、未定義の変数によるエラーを防ぐことができます。

この記事では、isset関数の基本的な使い方から、類似した関数との比較、三項演算子を使った応用的な使い方までを詳しく解説します。

忍者CODEの学習は“実践型”!
だから
結果を出せる!

忍者CODE

●初めてIT業界にチャレンジする方
∟はじめての方でも安心して学習できるように、基礎知識から実践的な課題までプロへのロードマップが分かりやすいカリキュラムを採用。
●副業に有利なことを探されている方
∟未経験からでもスキルを習得できる“実践的カリキュラム”と、学習だけでなく受講後もプロのメンターがマンツーマンで徹底的に副業サポートまで行い、受講後は必ず案件をご紹介するプランの副業・案件”保証”プランもあります。
●業界最安級の受講費用で始めやすい
∟月額9,8000円から始められる忍者CODEのプログラミングスクールは業界でも最安級!それでも学習し放題、サポートは無期限・無制限と、プロのメンターとエンジニアを筆頭に、皆さんを徹底的にサポートします。

まずは自分の適性プラン診断から!
適正コース診断

PHPのisset関数とは

変数がセットされているか、NULLではないかを確認するにはisset関数を使用します。

例えば、ウェブサイトの会員登録フォームに対して考えてみましょう。以下の例では、ユーザーがユーザー名、メールアドレス、パスワードを入力する必要があり、それらの必須項目に対してisset関数を使用してチェック処理を行います。

<?php
// フォームからのデータを取得
$username = $_POST['username'] ?? null;
$email = $_POST['email'] ?? null;
$password = $_POST['password'] ?? null;

// 必須項目のチェック
if (isset($username, $email, $password)) {
  // すべての必須項目が入力されている場合の処理
  // ここで新しい会員の登録処理を行うなど
echo "会員登録が完了しました。";
} else {
  // 必須項目のいずれかが未入力の場合の処理
  echo "必須項目が未入力です。もう一度入力してください。";
}
?>

この例では、$_POST変数を使用してフォームから送信されたデータを取得します。そして、isset関数を使ってユーザー名、メールアドレス、パスワードの3つの変数がすべてセットされているか(入力されているか)、つまり必須項目が全て回答されているかを確認しています。

もし、ユーザーがユーザー名、メールアドレス、パスワードのいずれかを未入力のままフォームを送信した場合は、チェック処理の条件が満たされず、未入力の旨のメッセージが表示されることになります。一方、すべての必須項目が入力されている場合は新しい会員登録処理が実行されることになります。

このように、isset関数を利用してフォームデータの必須項目のチェックを行うことで、正確な情報の収集やエラーの防止などに役立ちます。
PHPの基礎を無料で学ぶ方はこちら▶

PHPのisset関数の基本的な使い方

PHPのisset関数は、変数が定義されているかどうかを確認するための関数であり、外部からの入力や変数の存在を確認する際にisset関数を使うことで、未定義の変数によるエラーや予期しない動作を防ぐことができます。

isset関数の基本的な構文

PHPのisset関数は以下のような構文で使用します。

bool isset ( mixed $var [, mixed $... ] )

isset関数は一つ以上の引数を受け取ります。これらの引数として渡された変数が定義されているかどうかを確認し、定義されている場合にはtrueを返します。一方、変数が定義されていない場合にはfalseを返します。

isset関数の使用例

以下の例では、isset関数を使って変数の定義状況を確認しています。

<?php
$variable1 = 10;
$variable2 = "Hello, PHP!";
$variable3 = null;

// 変数が定義されているかどうかを確認する
echo isset($variable1); // 出力: 1 (true)
echo isset($variable2); // 出力: 1 (true)
echo isset($variable3); // 出力: (空の値なので何も表示されない)

// 未定義の変数をissetでチェックする
echo isset($undefinedVariable); // 出力: (空の値なので何も表示されない)
?>

上記の例では、$variable1と$variable2は定義されており、isset関数はこれらの変数がtrueと評価することが分かります。

一方、$variable3はnullで初期化されていますが、定義されているとみなされます。また、$undefinedVariableは定義されていないため、isset関数の結果は何も表示されません。

isset関数の注意点

isset関数は、変数が定義されているかどうかを確認する際に便利ですが、以下の点に注意して使用する必要があります。

  1. isset関数は、変数が定義されているかどうかのみをチェックします。変数の値がnullや空文字列でも、isset関数はtrueを返します。
  2. 未定義の変数をisset関数に渡した場合、エラーが発生せずにfalseが返されます。
  3. 配列の要素が存在するかどうかを確認する場合は、isset関数の代わりにarray_key_exists()関数を使用することが適しています。

これらの点に留意しつつ、isset関数を適切に活用することで、より安全で信頼性のあるPHPコードを記述することができます。

プログラミングスクールなら
忍者CODE

適正コース診断2

isset関数と類似している関数との比較

PHPには、isset関数と似たような役割を持ついくつかの関数が存在します。これらの関数は変数の存在を確認する点では類似していますが、微妙な違いがあります。以下に、isset関数と類似している主な関数について比較してみましょう。

isset関数

isset関数は、変数が定義されているかどうかを確認するための関数です。

引数として渡された変数が定義されている場合にはtrueを返し、定義されていない場合にはfalseを返します。また、変数の値がnullであってもtrueを返す点に注意が必要です。

bool isset(mixed $var [, mixed $...])

empty関数

empty関数は、変数が空であるかどうかを確認するための関数です。

引数として渡された変数が空である場合にはtrueを返し、空でない場合にはfalseを返します。変数が未定義の場合には警告が出るため、isset関数とは異なる点です。

bool empty(mixed $var)

is_null関数

is_null関数は、変数がnullであるかどうかを確認するための関数です。

引数として渡された変数がnullである場合にはtrueを返し、nullでない場合にはfalseを返します。変数が未定義の場合には警告が出るため、isset関数とは異なる点です。

bool empty(mixed $var)

array_key_exists関数

array_key_exists関数は、配列内に指定したキーが存在するかどうかを確認するための関数です。

isset関数が主に変数の存在を確認するのに対し、array_key_exists関数は主に配列のキーの存在を確認する際に使用されます。また、配列の要素にnullが設定されていても、array_key_exists関数はtrueを返す点に注意が必要です。

bool array_key_exists(mixed $key, array $array)

各関数の使用例を確認!

以下の例では、上記の関数を使って変数や配列の存在を確認しています。

<?php
// 変数の定義
$name = "John";
$age = 30;
$address = null;

// 配列の定義
$data = array(
 "name" => "Alice",
 "age" => 25,
 "email" => null
);

// isset関数の使用例
if (isset($name)) {
 echo "名前: " . $name . "<br>";
}

// empty関数の使用例
if (empty($age)) {
 echo "年齢は空です。<br>";
}

// is_null関数の使用例
if (is_null($address)) {
 echo "住所はnullです。<br>";
}

// array_key_exists関数の使用例
if (array_key_exists("email", $data)) {
 echo "メールアドレスは存在します。<br>";
}
?>

上記の例では、それぞれの関数を適切な場面で使用しています。

isset関数は変数の存在を確認し、empty関数は変数の値が空かどうかを確認します。is_null関数は変数がnullかどうかを確認し、array_key_exists関数は配列内に指定したキーが存在するかを確認します。これらの関数を適切に使い分けることで、PHPコードの信頼性と可読性を高めることができます。
全49問!PHP無料問題集はコチラ▶

三項演算子を使った、isset関数の使い方

isset関数は、変数の存在を確認する際に非常に便利ですが、三項演算子を組み合わせることで、より簡潔にコードを記述することができます。

三項演算子は、条件に応じて2つの値のうちどちらかを選択するための演算子であり、isset関数の結果に応じて異なる処理を行いたい場合に有用です。

三項演算子(条件演算子)は「X ? A : B」という形式で表現される演算子で、条件Xが真ならAを、偽ならBを返すという演算を行う。
引用:IT用語辞典 e-Words

以下は、isset関数を三項演算子と組み合わせた使用例です。

<?php
// 変数の定義
$name = "John";

// 三項演算子を使ったisset関数の使用例
$result = isset($name) ? "名前は" . $name . "です。" : "名前は未定義です。";
echo $result;
?>

上記の例では、isset関数を三項演算子で囲んでいます。変数$nameが定義されている場合には、”名前はJohnです。”という結果が得られます。一方、$nameが未定義の場合には、”名前は未定義です。”という結果が得られます。

このように、三項演算子を使うことで、isset関数の結果に応じて簡潔に異なる結果を表示することができます。ただし、複雑な処理を行う場合や、複数の変数をチェックする場合は、条件が複雑になることがあるため、適切な場面で使うようにしましょう。
全49問!PHP無料問題集はコチラ▶

まとめ

この記事では、初心者向けにPHPのisset関数の使い方について解説しました。

isset関数は、変数が定義されているかどうかを確認する際に重要な役割を果たします。isset関数の基本的な構文や使用例、また類似している関数との比較についても紹介しました。

さらに、isset関数を三項演算子と組み合わせることで、より簡潔なコード記述が可能です。isset関数を活用することで、PHPコードの安全性と信頼性を向上させることができます。
全49問!PHP無料問題集はコチラ▶

挫折することなくエンジニアを目指すなら

独学?スクール?

これからHTMLやCSSなどといったプログラミング言語の学習を始めようと考えている方、または最近学習を始めた方がいらっしゃるかと思います。

ただ、実際に学習を始めるとなると

1人で学習を進められるかな…
どこをゴールにしていいかわからない…
挫折してしまわないかな…

このように不安な気持ちになる方もいますよね。

たしかに、何かわからないことが出てきたとき、エラーが解決できないとき、誰かに相談できる環境がないことが理由でプログラミング言語の学習を挫折する方が多くいます。

実際にプログラミング言語初学者が挫折をする1番の理由は「不明点が発生した際に気軽に相談できる環境がない」という実態があります。

それだけ学習する環境が大事だということです。

そんな背景があるからこそ、プログラミングの勉強をする際にスクールを選ぶ方が多いのが事実です。

プログラミングスクールに通う理由は他にもあり

・確実にスキルを身に着けたい
・効率良く学習を進めたい
・モチベーションの維持にもつながりそう
・以前に独学で挫折した経験がある
このように「確実に!」「効率良く!」といった声もよく上がります。
やはり途中で挫折してしまったり、どこを目指しているのかわからなくなったりした場合、「プログラミングを学習することは難しい」と認識してしまい、その後のスキル習得を諦めてしまう可能性が非常に高くなります。
このようなことから、社会人で時間もそこまでないため短期間でスキルを習得したい人や独学で進めるのが不安な人が効率性や確実性を求め、プロの講師に相談できる環境が用意されているプログラミングスクールを選択するのがわかります。
「転職をしたい」「副業で稼げるようになりたい」という理由でプログラミング言語を学び始めたとき、わからない箇所を飛ばしてそのままに放置して学習を進めたとしても、目標とする転職や副業が実現するほどのスキルが身につかなければ多くの時間を費やして何も得られないという結果になります。
ですので、1人でHTMLやCSSなどといったプログラミングスキルの習得ができるか不安な方は多少の費用をかけてでも、不明点をすぐに相談・解決できる環境や効率良く学習できる有料サービスを選ぶのがベストだと言えます。
そこでおすすめしたいのが「忍者CODE」です。
忍者CODEをおすすめする1番の理由は「業界最安級の金額でありながら圧倒的学習ボリュームと半永久サポートを提供している」ところにあります。
上記でお伝えしたように、初学者の多くは独力で不明点や問題点を解決できないためにプログラミングの学習を挫折しています。そのため、初学者が経験豊富なプロのエンジニアに相談できない環境下でプログラミングスキルの習得をするのは難易度が高いと言えます。
ですが、忍者CODEでは
・チャットでいつでも、無制限で質問可能
・学習者同士でつながれるコミュニティへの招待
などといったサポート体制を設けているため、学習を進めていく中で出てきた問題点や不明点をスムーズに解決しながら、挫折することなくプログラミングスキルの習得が可能です。
また、忍者CODEでは動画コンテンツにて学習を進めていくため、スッと頭に入ってきやすいようになっているのも特徴です。
未経験でも挫折させないオンラインスクールとして、受講生に寄り添った学習コンテンツを提供している忍者CODEをより詳しく知りたい方はぜひ公式サイトをご覧ください。