【PHP基礎】emptyを使用して変数や配列が空かどうか確認する

テーブル

PHPで変数の中身に値が入っているか確認して、結果を出したい場合があると思います。

そんな時使用するのが今回の「empty」コマンドです。

今回の記事の内容
  • 変数や配列の中身が空かどうか判定する
  • emptyコマンドの使い方がわかる
  • emptyコマンドの具体例を見る事が出来る

変数や配列の値が空かどうか確認して、出力結果を変化させてみましょう!

pythonやphpを使用して業務効率化やアプリやWebサイトを作成しております。batやjavaスクリプトなど様々なプログラミングを行った実績ありの筆者です。

目次

PHPのemptyを使用して変数や配列が空かどうか確認する

プログラミング

PHPのemptyコマンドの基本構文は以下です。

empty($変数);
※変数の部分は配列でも問題ありません

emptyはboolの結果を返します。簡単に言えば変数の中身が空であれば”true”を、そうでなければ”false”を返します。

※配列は空であってもfalseを返します。

PHPのemptyで判定した結果を実際に結果を見てみましょう!

<?php
echo "通常</br>";
$hensuu = "変数";
$hairetsu = ["要素1","要素2"];
var_dump(empty($hensuu));
var_dump(empty($hairetsu));

echo "</br>空白の場合</br>";
$hensuu_empty = "";
$hairetsu_empty = ["",""];
var_dump(empty($hensuu_empty));
var_dump(empty($hairetsu_empty));

echo "</br>そもそも変数がない</br>";
$hensuu_no = "変数";
$hairetsu_no = ["要素1","要素2"];
var_dump(empty($hensuu_XXX));
var_dump(empty($hairetsu_XXX));
?>

下のPHPコードを書いてemptyの結果をvar_dumpで確認してみました。

PHPでemptyを使用したコードの説明

まず変数に値を入れています。

次に配列に値を入れています。

var_dumpでそれぞれ中身を確認しています。

var_dumpで変数や配列自体がないものをempty判定しています。

PHPでemptyを使用して見た結果

PHPでemptyを使用してHTMLに出力した結果は以下となりました。

通常
bool(false) bool(false)
空白の場合
bool(true) bool(false)
そもそも変数がない
bool(true) bool(true)

変数がある場合はboolのfalse、空の場合はboolのtrueが返されている事が確認できました。

配列の場合は中身があってもなくてもfalseを返しています。

変数や配列自体がない場合はtrueを返している結果となりました。

PHPのemptyコマンドを実践で使ってみる

script

ではPHPのemptyコマンドを実践で使用した具体例を見ていきます。

私はifと組み合わせて使用しました。

<?php
echo "通常</br>";
$hensuu = "変数";
$hairetsu = ["要素1","要素2"];
var_dump(empty($hensuu));
var_dump(empty($hairetsu));

echo "</br>空白の場合</br>";
$hensuu_empty = "";
$hairetsu_empty = ["",""];
var_dump(empty($hensuu_empty));
var_dump(empty($hairetsu_empty));

echo "</br>そもそも変数がない</br>";
$hensuu_no = "変数";
$hairetsu_no = ["要素1","要素2"];
var_dump(empty($hensuu_XXX));
var_dump(empty($hairetsu_XXX));
echo "</br>-------------------------";
if(empty($hensuu)){
  echo '</br>$hensuuは空です';
}
if(empty($hensuu_empty)){
  echo '</br>$hensuu_emptyは空です';
}
if(empty($hensuu_XXX)){
  echo '</br>$hensuu_XXXは空です';
}
?>

emptyの戻り値の結果をifの判定に使用しています。trueだと{}の中のechoで文字を表示させる簡単なコードです。

HTMLに表示されたのは以下でした。

通常
bool(false) bool(false)
空白の場合
bool(true) bool(false)
そもそも変数がない
bool(true) bool(true)
-------------------------
$hensuu_emptyは空です
$hensuu_XXXは空です

ifの2つ目と3つ目はtrueが返されているのでechoで表示されています。

1つ目はfalseなので表示されていません。成功です。

まとめ:PHPでemptyの使い方!

PHPで変数の中身が空であるかどうかを確認するコマンドはemptyで基礎構文は以下です。

empty($変数);
※配列では使用できません。

変数の中身が空であればtrueを、入っていればfalseを返します。

変数や配列自体がない場合はどちらもtrueを返します。

変数や配列の中身を確認するコマンドとしてemptyの他にissetというコマンドもあります。詳しくは下の記事で説明しています。

今回のPHPでemptyの結果を表にまとめておきます。またissetの結果も比較として載せておきます。

emptyコマンド変数配列
存在し値もあるbool(false)bool(false)
存在しているが中身は空白bool(true)bool(false)※配列は判定できない
存在していないbool(true)bool(true)※配列自体なければtrue
PHPでemptyをテストした結果まとめ
issetコマンド変数配列
存在し値もあるbool(true)bool(true)
存在しているが中身は空白bool(true)bool(true)
存在していないbool(false)bool(false)
PHPでissetをテストした結果まとめ

今回は変数が空かどうか判定するemptyを詳しくみていきましたが、時と場合によってissetと使い分けて下さい。

テーブル

この記事が気に入ったら
フォローしてね!

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次