PHPで空文字を判定する7つの確実な方法

PHPで空文字を判定する方法を示すイラストPHP
この記事は約5分で読めます。

 

【サイト内のコードはご自由に個人利用・商用利用いただけます】

この記事では、プログラムの基礎知識を前提に話を進めています。

説明のためのコードや、サンプルコードもありますので、もちろん初心者でも理解できるように表現してあります。

基本的な知識があればカスタムコードを使って機能追加、目的を達成できるように作ってあります。

※この記事は、一般的にプロフェッショナルの指標とされる『実務経験10,000時間以上』を凌駕する現役のプログラマチームによって監修されています。

サイト内のコードを共有する場合は、参照元として引用して下さいますと幸いです

※Japanシーモアは、常に解説内容のわかりやすさや記事の品質に注力しております。不具合、分かりにくい説明や不適切な表現、動かないコードなど気になることがございましたら、記事の品質向上の為にお問い合わせフォームにてご共有いただけますと幸いです。
(送信された情報は、プライバシーポリシーのもと、厳正に取扱い、処分させていただきます。)

はじめに

ようこそ、今日はPHPで空文字を判定する方法を詳しく解説します。

この記事を読むことで、PHPにおける空文字の扱い方やその判定方法を理解し、自分のコードに活かすことができるようになります。

それでは早速、PHPと空文字について見ていきましょう。

●PHPとは

PHPは、ウェブサイトのバックエンド開発に広く使われているプログラミング言語です。

初心者にとっても学びやすく、かつ強力な機能を持つため、多くのウェブアプリケーションにおいて重要な役割を果たしています。

○PHPの基本的な特徴

PHPはオープンソースのスクリプト言語で、主にサーバーサイドで動作します。

HTMLと組み合わせて使うことが多く、データベースとの連携も容易です。

●空文字とは

空文字とは、文字列が何も含まれていない状態を指します。例えば、””や”などは空文字として扱われます。

PHPでは、これを正確に判定することが求められる場面が多くあります。

●PHPで空文字を判定する方法

PHPで空文字を判定するための方法はいくつかあります。

それぞれの方法とサンプルコードを紹介しまします。

○サンプルコード1:isset関数を使った方法

isset関数は、変数がセットされているかどうかを確認します。

変数が存在し、かつNULLでない場合にtrueを返します。

ですが、空文字の場合でもtrueを返すので注意が必要です。

$str = '';
if (isset($str)) {
  echo '変数はセットされています';
} else {
  echo '変数はセットされていません';
}

このコードではisset関数を使って空文字を判定しています。

この例では$strに空文字がセットされている状態でisset関数を使っています。

○サンプルコード2:empty関数を使った方法

empty関数は変数が空であるかどうかを確認します。

変数が存在しない、またはその値が0、0.0、”0″、NULL、FALSE、array()、または空文字の場合にtrueを返します。

$str = '';
if (empty($str)) {
  echo '変数は空です';
} else {
  echo '変数は空ではありません';
}

上記のコードはempty関数を用いて空文字を判定する例です。

この例では、$strという変数に空文字が代入され、その後empty関数でチェックされています。

○サンプルコード3:trim関数を使った方法

trim関数は文字列の先頭と末尾の空白を削除します。

これを利用して空白のみの文字列を空文字に変換し、その後empty関数でチェックすることで空文字を判定することができます。

$str = ' ';
if (empty(trim($str))) {
  echo '変数は空です';
} else {
  echo '変数は空ではありません';
}

このコードではtrim関数を使って空白のみの文字列を空文字に変換しています。

この例では$strに空白がセットされ、trim関数によって空文字に変換された後、empty関数で空文字であるかを判定しています。

○サンプルコード4:strlen関数を使った方法

strlen関数は文字列の長さを返します。

この関数を使って空文字を判定することも可能です。

$str = '';
if (strlen($str) === 0) {
  echo '変数は空です';
} else {
  echo '変数は空ではありません';
}

このコードではstrlen関数を使って空文字を判定しています。

この例では$strに空文字がセットされ、その長さが0であるかを判定しています。

○サンプルコード5:比較演算子を使った方法

比較演算子を使って変数が空文字であるかを直接比較することもできます。

$str = '';
if ($str === '') {
  echo '変数は空です';
} else {
  echo '変数は空ではありません';
}

このコードでは比較演算子を使って空文字を判定しています。

この例では$strに空文字がセットされ、その後で直接空文字と比較されています。

○サンプルコード6:正規表現を使った方法

正規表現を使って空文字や空白のみの文字列を判定することも可能です。

$str = '';
if (preg_match('/^\s*$/', $str)) {
  echo '変数は空です';
} else {
  echo '変数は空ではありません';
}

このコードでは、正規表現を使って空白のみの文字列を空文字として判定しています。

この例では、$strに空文字がセットされ、その後で正規表現を使って空白のみの文字列であるかを判定しています。

○サンプルコード7:array_filter関数を使った方法

array_filter関数を使うと、配列の中から空文字を除外することができます。

$array = array('', 'PHP', '', '空文字', '');
$result = array_filter($array);

上記のコードでは、array_filter関数を使って配列の中から空文字を除外しています。

この例では、$arrayという配列にいくつかの文字列と空文字が混在しており、array_filter関数によって空文字が除外されています。

●各方法の注意点と対処法

それぞれの方法には留意点があります。

例えば、isset関数はNULLでない変数を全てtrueと判定しますので、空文字を正確に判定するためには他の方法を併用する必要があります。

また、empty関数は”0″を空と判定しますので、数字の0が必要な場合には注意が必要です。

●PHPでの空文字判定のカスタマイズ方法

上記の方法を組み合わせて、自分のニーズに合った空文字判定方法を作ることも可能です。

例えば、trim関数とempty関数を組み合わせて、空白のみの文字列を空文字として判定する方法などがあります。

まとめ

以上、PHPで空文字を判定する方法について見てきました。

それぞれの方法には特徴と注意点がありますので、自分のコードに最適な方法を選びましょう。

これらの知識を活かして、より良いPHPコードを書くことができます。