入力フォームからPOST送信されたデータのうち、想定するキーが一つでも存在しなかった場合は処理をおこなわず、すべて存在した場合のみ処理を実行するようなコードを書くとする。

POST値の存在チェックは、empty関数やisset関数を使っておこなわれるが、単純にコードを書くと項目の数だけisset関数を使った条件分岐を書かなければならず、冗長的なコードが長く続いてしまう。

これを防ぐため存在チェックをまとめて実行する関数を用意した。

<?php
$checkPostKey = array('name', 'kana', 'tel', 'email');

if(!postArrayIsset($checkPostKey) {
  // キーに対応するPOST値がどれか一つでも存在しなければ何もしない
  return;
}

// 全てのPOST値がセットされていれば処理実行
// Code...


/**
 * POST存在チェック
 * 
 * @param array $array
 * 
 * @return boolean
 */
function postArrayIsset($array) {
  $postFlg = true;
  foreach($array as $val) {
    if(!isset($_POST[$val])) {
      $postFlg = false;
    }
  }
  return $postFlg;
}

まず、チェックを行うPOST値のキーとなる文字列を$checkPostKeyへ配列として格納する。

postArrayIsset関数はキー配列を引数に取り、送信されるPOST値にそのキーが一つでも存在しない場合falseを返す関数だ。

これを使うことで、項目の多い入力値のチェックをおこなうコードも簡潔に書くことができる。