ホームページ >バックエンド開発 >PHPチュートリアル >PHPで重複するURLパラメータのすべての値を取得する方法は?
問題:
URL に複数のパラメータが含まれている場合同じ名前の場合、PHP $_GET 変数は最後の値のみを返します。これは、特にアプリケーションが特定のキーのすべての値にアクセスする必要がある場合に問題となる可能性があります。
解決策:
特定のキーのすべての値を取得するには、次のようにします。コードを使用できます:
$query = explode('&', $_SERVER['QUERY_STRING']); $params = array(); foreach( $query as $param ) { // prevent notice on explode() if $param has no '=' if (strpos($param, '=') === false) $param += '='; list($name, $value) = explode('=', $param, 2); $params[urldecode($name)][] = urldecode($value); }
このコード:
結果:
指定された URL パラメーターでこのコードを実行すると、次の配列が生成されます:
array( 'ctx_ver' => array('Z39.88-2004'), 'rft_id' => array('info:oclcnum/1903126', 'http://www.biodiversitylibrary.org/bibliography/4323'), 'rft_val_fmt' => array('info:ofi/fmt:kev:mtx:book'), 'rft.genre' => array('book'), 'rft.btitle' => array('At last: a Christmas in the West Indies.'), 'rft.place' => array('London'), 'rft.pub' => array('Macmillan and co.'), 'rft.aufirst' => array('Charles'), 'rft.aulast' => array('Kingsley'), 'rft.au' => array('Kingsley, Charles'), 'rft.pages' => array('1-352'), 'rft.tpages' => array('352'), 'rft.date' => array('1871') )
以上がPHPで重複するURLパラメータのすべての値を取得する方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。