parse_str
Parses the string into variables
Description
void parse_str(string $string
, array &$result
)
Parameters
-
string
-
The input string.
-
result
-
If the second parameter result
is present,
variables are stored in this variable as array elements instead.
Warning
Using this function without the result
parameter is highly
DISCOURAGED and DEPRECATED as of PHP 7.2.
As of PHP 8.0.0, the result
parameter is mandatory.
Return Values
No value is returned.
Examples
Example #1 Using parse_str
<?php
$str = "first=value&arr[]=foo+bar&arr[]=baz";
// Recommended
parse_str($str, $output);
echo $output['first']; // value
echo $output['arr'][0]; // foo bar
echo $output['arr'][1]; // baz
// DISCOURAGED
parse_str($str);
echo $first; // value
echo $arr[0]; // foo bar
echo $arr[1]; // baz
?>
Because variables in PHP can't have dots and spaces in their names,
those are converted to underscores. Same applies to naming of
respective key names in case of using this function with
result
parameter.
Example #2 parse_str name mangling
<?php
parse_str("My Value=Something");
echo $My_Value; // Something
parse_str("My Value=Something", $output);
echo $output['My_Value']; // Something
?>
Notes
Note:
All variables created (or values returned into array if second parameter is set)
are already urldecoded.
Note:
To get the current QUERY_STRING
, you may use the variable
$_SERVER['QUERY_STRING'].
Also, you may want to read the section on
variables from external
sources.
See Also
- parse_url
- pathinfo
- http_build_query
- urldecode