変数に値がセットされているか/存在するかを確認する変数に値がセットされているか、そもそも変数が存在するかを含めて確認する方法を解説します。変数の存在から確認する「empty関数」isset関数とempty関数の使い分け変数に値が入っているか、そもそも変数が存在するか確認コードの中で、変数にしっかり意図した値がセットされているかを確認したいときがあります。存在しない変数を参照するとエラーになってしまうことから、そもそも変数の存在自体から確認したいこともあります。次のようなケースが考えられます。変数に値が入っているかを確認したい。変数の値がnullでないかを確認したい。そもそも変数が存在するかを含めて確認したい。以上のことを確認するために、PHPが標準で用意しているisset関数とempty関数を使って確認していきます。変数に値がセットされているかを確認する「isset関数」isset関数は変数が存在していて、かつ値にnull以外がセットされていたらtrueを返します。それ以外の場合は全てfalse。いくつかの変数を使ってisset関数を実行してみましょう。変数$fはあえて初期化をせず、関数の中でいきなり呼び出しています。false変数が存在していて、かつ値がセットされている場合のみtrueとなっていることが確認できました。$dの空文字列や$eの空配列も空のようなものなのでfalseになるかと思いきや、ここはtrueになっています。nullでなければ、とりあえず値は入っているという判断になるようです。変数の存在から確認する「empty関数」empty関数は変数が存在しない場合、または値が空かnullがセットされている場合にtrueを返します。isset関数とは対象的のような関数。こちらも先ほどの変数を使って、結果を出力してみましょう。true$bと$cのように値が入っている場合はfalseとなりましたが、それ以外は全てtrueとなりました。empty関数の前に論理演算子の否定「!」を付ければ、変数が「空」じゃないかを判断する用途として使うことができます。false空文字列や空配列についてもfalseとなっていますね。isset関数よりも厳密に、変数が空であるかを確認できていることが分かります。isset関数とempty関数の使い分け上記のコードの結果から、変数の「空」の状態をどこまで厳密に判断したいかによって、どちらの関数を使うべきかが決まります。変数が存在しない可能性、null以外の空文字列や空配列が入る可能性があり、そのあたりも「空」として判断したいのであればempty関数を使った方が意図した結果となります。一方で、変数の値がnullじゃないかを確認できれば大丈夫、という場合であればisset関数でも十分でしょう。実際にシステム構築していると、論理演算子の否定「!」とempty関数の組み合わせを使うシーンの方が多いです。以上、変数に値がセットされているかどうかを確認する方法についてでした。こちらの記事は役に立ちましたか?GoodBadありがとうございます。よろしければ、あわせてフィードバックや要望などをご入力ください。コメント送信コメントありがとうございます!運営の参考にさせていただきます。要件を満たすコードをササッと書けて、どこでも通用するような凄いエンジニアになりたい。エンジニアをやっていると、そんな憧れや「個人の能力・スキル」重視の思考に陥ったことが一度はあるのではないでしょうか。本書はそんな個人思考から脱却し、より広い視点を持ちながら効率良い開発を進められるようなエンジニアの参考にすべき考え方が詰まっています。