アクセスマップ お問い合わせ
  • 強み
  • ソリューション
  • サービス
  • 制作実績
  • 採用情報
  • お知らせ
  • 会社案内
  • 強み
  • ソリューション
  • サービス
  • 制作実績
  • 採用情報
  • お知らせ
  • 会社案内
  • アクセスマップ
  • お問い合わせ

お知らせ

福岡のシステム開発は株式会社ブラテック > スタッフブログ > 変数のチェック
2012年 12月 18日
相川

変数のチェック

変数の値のチェックは、プログラムの誤動作を防止するためには非常に重要な処理です。
PHPでは、isset, empty, is_null, array_key_existsなどの関数を使用して、 値のチェックを行うことができます。
ですが、これらの関数の挙動は微妙に異なっているため、使用する際には少し注意が必要です。

[php]
$data = array(
‘A’ => 1,
‘B’ => 0,
‘C’ => ‘0’,
‘D’ => ”,
‘E’ => array(),
‘F’ => FALSE,
‘G’ => NULL,
);
[/php]
上の配列$dataに含まれる7つの値に対して、上記4つの関数で判定を行った結果を示します。
また、この配列に存在しないキー’X’の場合の結果も併記します。

isset

issetは、変数がセットされているかどうかを判定しますが、
変数がセットされていてもその値がNULLの場合(G)はFALSEを返します。

[php]
echo isset($data[‘A’]) ? "Yes" : "No"; // Yes
echo isset($data[‘B’]) ? "Yes" : "No"; // Yes
echo isset($data[‘C’]) ? "Yes" : "No"; // Yes
echo isset($data[‘D’]) ? "Yes" : "No"; // Yes
echo isset($data[‘E’]) ? "Yes" : "No"; // Yes
echo isset($data[‘F’]) ? "Yes" : "No"; // Yes
echo isset($data[‘G’]) ? "Yes" : "No"; // No
echo isset($data[‘X’]) ? "Yes" : "No"; // No
[/php]

empty

emptyは、変数が空であるかどうかを判定します。
数値の0や文字列の’0’、空の配列もTRUEと判定されます。

[php]
echo empty($data[‘A’]) ? "Yes" : "No"; // No
echo empty($data[‘B’]) ? "Yes" : "No"; // Yes
echo empty($data[‘C’]) ? "Yes" : "No"; // Yes
echo empty($data[‘D’]) ? "Yes" : "No"; // Yes
echo empty($data[‘E’]) ? "Yes" : "No"; // Yes
echo empty($data[‘F’]) ? "Yes" : "No"; // Yes
echo empty($data[‘G’]) ? "Yes" : "No"; // Yes
echo empty($data[‘X’]) ? "Yes" : "No"; // Yes
[/php]

is_null

is_nullは、変数がNULLかどうかを判定します。
変数がセットされていない場合(X)もTRUEと判定されます。

[php]
echo is_null($data[‘A’]) ? "Yes" : "No"; // No
echo is_null($data[‘B’]) ? "Yes" : "No"; // No
echo is_null($data[‘C’]) ? "Yes" : "No"; // No
echo is_null($data[‘D’]) ? "Yes" : "No"; // No
echo is_null($data[‘E’]) ? "Yes" : "No"; // No
echo is_null($data[‘F’]) ? "Yes" : "No"; // No
echo is_null($data[‘G’]) ? "Yes" : "No"; // Yes
echo is_null($data[‘X’]) ? "Yes" : "No"; // Yes
[/php]

array_key_exists

array_key_existsは、指定したキーが配列に存在するかどうかを判定します。
issetとよく似ていますが、こちらは値がNULLの場合(G)でもTRUEと判定されます。

[php]
echo array_key_exists(‘A’, $data) ? "Yes" : "No"; // Yes
echo array_key_exists(‘B’, $data) ? "Yes" : "No"; // Yes
echo array_key_exists(‘C’, $data) ? "Yes" : "No"; // Yes
echo array_key_exists(‘D’, $data) ? "Yes" : "No"; // Yes
echo array_key_exists(‘E’, $data) ? "Yes" : "No"; // Yes
echo array_key_exists(‘F’, $data) ? "Yes" : "No"; // Yes
echo array_key_exists(‘G’, $data) ? "Yes" : "No"; // Yes
echo array_key_exists(‘X’, $data) ? "Yes" : "No"; // No
[/php]

CONTACT

サービスに関する質問等お気軽にお問い合わせください。

093-883-6662
お問い合わせ
  • 強み
  • ソリューション
  • サービス
  • 制作実績
  • 採用情報
  • お知らせ

強み

  • 選ばれる4つの理由
  • 強み

ソリューション

  • 業務効率化を劇的に果たすWebシステム開発
  • 費用対効果の高いECサイト構築
  • ネットからの売上を伸ばすWebサイト構築
  • iPhone、Androidアプリ開発
  • Eラーニングサイト構築
  • 産学共同研究開発
  • ソーシャル・ウェブ広告 による集客サービス
  • サーバ構築・メンテナンス
  • オープンソースカスタマイズ

サービス・アプリ

  • EC-CUBEプラグイン
  • 自社リリースアプリ
  • プラグイン・モジュール開発
  • ITセミナー

お知らせ

  • 新着情報
  • スタッフブログ

会社案内

  • 会社概要
  • 社長メッセージ
  • 沿革
  • 社員紹介
  • アクセスマップ
  • 個人情報保護方針
  • ご利用規約

パートナー

  • 福岡県内のパートナー

  • アクセスマップ
  • 個人情報保護方針
  • ご利用規約
  • Copyright © 2020 BraTech