[ PHP ] GET と POST パラメータを配列にマージして取得する

Pocket

ここでは、GET または POST メソッドのパラメータをマージしてすべて取得するサンプルスクリプトを掲載しています。なおサンプルは Zend Framework の実装を一部修正したモノになります。

スポンサーリンク

GET と POST パラメータをマージする

GET および POST メソッドのパラメータを配列にマージして取得するサンプルスクリプトになります。

/**
 * GET および POST パラメータをマージして、すべて取得する
 *
 * @return array
 */
public function getParams()
{
    $return = array();
    if (isset($_GET) && is_array($_GET)) {
        $return += $_GET;
    }
    if (isset($_POST) && is_array($_POST)) {
        $return += $_POST;
    }
    return $return;
}

GET または POST からパラメータを取得する

マージして取得するのではなく、GET または POST メソッドのいずれかからパラメータを取得するサンプルは次の通りです。

/**
 * GET または POST からパラメータを取得する
 * 
 * @param string $key
 * @param mixed $default キーが見つからなかった場合のデフォルト値
 * @return mixed
 */
public function getParam($key, $default = null)
{
    if (isset($_GET[$key])) {
        return $_GET[$key];
    } elseif (isset($_POST[$key])) {
        return $_POST[$key];
    }
    return $default;
}

システム開発などで、POST か GET のどちらにするか仕様が決まっていないケースなどで活躍するかもしれません。仮に(こちらが普通ですが)、仕様が決まっていているときでもパラメータの操作には便利だと思います。

決まっていない(曖昧)ということは、危険なプロジェクトであることが予想されますが。

スポンサーリンク


Pocket

Leave a Comment

Your email address will not be published. Required fields are marked *