parse_str
URL のクエリストリングとして文字列をパースする
&reftitle.description;
voidparse_str
stringstring
arrayresult
URL 経由で渡されたクエリストリングと同様に string
をパースし、渡された配列 result のキーに設定します。
result が渡されない場合、
現在のスコープの変数として、値が設定されます。
&reftitle.parameters;
string
入力文字列。
result
リファレンスで渡される変数。
string から展開された、
キーと値のペアを含む配列に設定されます。
result が渡されない場合、
それぞれのキーが別々の変数として、ローカルスコープに設定されます。
この関数を result パラメータを指定せずに使うことは
絶対に おすすめしません し、
PHP 7.2 以降では 推奨されません。
PHP 8.0.0 以降では、result パラメータの指定が
必須 になっています。
&reftitle.returnvalues;
&return.void;
&reftitle.changelog;
&Version;
&Description;
8.0.0
result は、オプションではなくなりました。
7.2.0
parse_str関数を
第二引数を指定せずに使うと
E_DEPRECATED レベルの警告が発生するようになりました。
&reftitle.examples;
parse_str の使用法
]]>
パラメータ名に含まれるスペースやドットは、
配列のキーやローカル変数を作成する際にアンダースコアに置換されます。
こうなっている理由は、
PHP の変数名がスペースやドットを許容していないからですが、
この関数に、お勧めのパラメータ result
を指定しても同じ処理が適用されます。
parse_str の、名前のマングリング処理
]]>
&reftitle.notes;
parse_str は、
max_input_vars
の影響を受けます。
この値の制限を超えると E_WARNING
が発生し、その制限を越えた変数は結果の配列に設定されません。
この値のデフォルトは 1000 です。
max_input_vars
を必要に応じて調整してください。
配列 result
(または第二引数が設定されない場合に作成される変数)
に設定される全ての値は、urldecode
と同じルールで URLデコード されています。
現在のリクエストのクエリストリングを取得するには、変数
$_SERVER['QUERY_STRING']
を使用する事ができます。また、
外部から来る変数
のセクションも読んでください。
&reftitle.seealso;
parse_url
pathinfo
http_build_query
urldecode