ホームページ >バックエンド開発 >PHPチュートリアル >PHPでURLから同じ名前の複数のパラメータを取得するにはどうすればよいですか?
Web アプリケーションでは、URL に PHP スクリプトに情報を渡すための複数のパラメータが含まれることがよくあります。ただし、PHP の $_GET 関数は通常、指定されたパラメーターの最後の値のみを返します。同じ名前の複数のパラメータが URL に存在する場合、これは問題となる可能性があります。
次の URL の例を考えてみましょう:
http://example.com/index.php?param1=value1¶m2=value2¶m1=value3
この場合、$_GET['param1'] は返されます。 「value3」。以前の値 (「value1」) を上書きします。
この問題を処理するには、次のコード スニペットを使用できます。 used:
$query = explode('&', $_SERVER['QUERY_STRING']); $params = array(); foreach ($query as $param) { // To prevent errors, ensure each element has an equals sign. if (strpos($param, '=') === false) { $param .= '='; } list($name, $value) = explode('=', $param, 2); $params[urldecode($name)][] = urldecode($value); }
このコードは、各キーがパラメーター名に対応する連想配列を作成します。各値は、そのパラメーターに関連付けられたすべての値を含む配列です。上記の URL の例の場合、結果の $params 配列は次のようになります。
array( 'param1' => array('value1', 'value3'), 'param2' => array('value2') )
このメソッドを使用すると、パラメーターが複数回出現するかどうかに関係なく、URL から各パラメーターに関連付けられたすべての値に簡単にアクセスできます。 .
以上がPHPでURLから同じ名前の複数のパラメータを取得するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。