PHPで配列が空かどうかを判定する方法|empty()とcount()の使い方
PHPでプログラムを書いていると、「配列の中身が空っぽかどうか」を確認したい場面はよくあります。例えば、フォームから受け取ったデータやデータベースから取得した結果セットが空でないかをチェックするケースなどが代表例です。
本記事では、PHPで配列が空かどうかを判定する代表的な2つの方法――empty()関数とcount()関数――を、実際のコード例と実行結果とあわせてわかりやすく解説します。
方法1:empty()関数を使う
empty()関数は、変数が「空」とみなされる値であるかをチェックする関数です。配列に対して使った場合、要素が1つも存在しなければ true を返します。
<?php
$arr = array("p"=>"150", "q"=>"100", "r"=>"120", "s"=>"110");
if (empty($arr)) {
echo "空の配列です...";
} else {
echo "配列は空ではありません...";
}
?>
実行結果
上記のコードを実行すると、次のように出力されます。
配列は空ではありません...
この例では配列 $arr に4つの要素が含まれているため、empty() は false を返し、elseブロック内の処理が実行されます。もし $arr = array(); のように空の配列を定義していれば、「空の配列です...」と表示されます。
方法2:count()関数を使う
もうひとつの定番の方法が、count()関数を使うやり方です。count()は配列内の要素数を返す関数なので、その結果が0であれば配列が空だと判断できます。
<?php
$arr = array("p"=>"150", "q"=>"100", "r"=>"120", "s"=>"110");
if (count($arr) == 0) {
echo "空の配列です...";
} else {
echo "配列は空ではありません...";
}
?>
実行結果
配列は空ではありません...
こちらも同様に、要素を持つ配列なので要素数は4となり、0との比較は false になります。
empty()とcount()のどちらを使うべき?
どちらの関数でも配列の空チェックは可能ですが、それぞれ特徴があります。
- empty():シンプルに書ける一方、変数自体が未定義の場合でもエラーにならず
trueを返すため、意図せず未定義変数を見逃す可能性があります。 - count():変数が配列として存在することを前提にできるため、より明示的です。ただし、変数が未定義の場合は警告が発生します。
確実に配列が代入されていることが分かっているなら empty() で簡潔に、厳密に型や存在を確認したい場合は is_array() と組み合わせて count() を使う、といった使い分けがおすすめです。
-
Android EditTextが空かどうかを確認する方法【サンプルコード付きで解説】
このチュートリアルでは、Androidアプリ開発においてEditText(テキスト入力フィールド)が空かどうかを判定する方法を、実際にサンプルプロジェクトを作りながら段階的に解説します。ユーザー入力のバリデーションはアプリ開発の基本であり、空の入力を事前にチェックすることで、予期しないクラッシュや不正なデータ登録を防ぐことができます。 ポイント:TextUtils.isEmpty()メソッドを使う EditTextの内容が空かどうかを確認する最もシンプルな方法は、android.text.TextUtilsクラスが提供するisEmpty()メソッドを利用することです。このメソッドは、渡された
-
PHPのimageantialias()関数とは?アンチエイリアスの有効化と使い方を徹底解説
imageantialias()関数とはimageantialias() は、PHPのGDライブラリに組み込まれている関数で、画像に対してアンチエイリアス処理を有効または無効にするために使用されます。この関数を呼び出すことで、線やワイヤーフレームの多角形を描画する際に、高速なアンチエイリアス描画メソッドが適用され、輪郭がなめらかできれいな画像を生成できます。なお、この関数には以下のような重要な制約がある点に注意してください。トゥルーカラー画像(true-color)でのみ動作するアルファ成分(透明度)には対応していない構文(シンタックス)bool imageantialias($image,