PHPでURLパラメータを取得する方法 - コード例と解説


  1. $_GETスーパーグローバル変数を使用する方法: PHPでは、URLパラメータは$_GETスーパーグローバル変数によって取得できます。以下はその例です。

    <?php
    // URL: example.com?param1=value1&param2=value2
    $param1 = $_GET['param1'];
    $param2 = $_GET['param2'];
    echo "param1: " . $param1 . "<br>";
    echo "param2: " . $param2 . "<br>";
    ?>

    上記のコードでは、example.comのURLにparam1とparam2のパラメータが渡され、それぞれの値が表示されます。

  2. parse_str関数を使用する方法: parse_str関数を使用すると、URLクエリ文字列を解析し、連想配列として取得できます。以下はその例です。

    <?php
    // URL: example.com?param1=value1&param2=value2
    $query = parse_url($_SERVER['REQUEST_URI'], PHP_URL_QUERY);
    parse_str($query, $params);
    echo "param1: " . $params['param1'] . "<br>";
    echo "param2: " . $params['param2'] . "<br>";
    ?>

    上記のコードでは、$_SERVER['REQUEST_URI']を使用して現在のURLを取得し、parse_str関数でパラメータを解析しています。

  3. filter_input関数を使用する方法: filter_input関数を使用すると、特定のフィルターを適用しながらパラメータを取得できます。以下はその例です。

    <?php
    // URL: example.com?param1=value1&param2=value2
    $param1 = filter_input(INPUT_GET, 'param1', FILTER_SANITIZE_STRING);
    $param2 = filter_input(INPUT_GET, 'param2', FILTER_SANITIZE_STRING);
    echo "param1: " . $param1 . "<br>";
    echo "param2: " . $param2 . "<br>";
    ?>

    上記のコードでは、FILTER_SANITIZE_STRINGフィルターを使用してパラメータの値を安全に取得しています。

これらはいくつかの一般的な方法ですが、URLパラメータを取得するための他の方法もあります。適切な方法は、使用する環境や要件によって異なる場合があります。