In PHP, I need a function to convert a querystring from an URL, say: http://example.com?key1=value1&key2=value2
into a PHP associative array : array [
foreach ($_GET as $key => $value) $arr["$key"]= $value;
You can get just the atributes from a URL using parse_url()
Once you have that you can use parse_str() to convert them to variables, it works with multidimensional arrays too!
$str = "first=value&arr[]=foo+bar&arr[]=baz";
parse_str($str, $output);
echo $output['first']; // value
echo $output['arr'][0]; // foo bar
echo $output['arr'][1]; // baz
$url = 'http://example.com?key1=value1&key2=value2&key3=value3';
preg_match_all('/\w+=.*/',$url,$matches);
parse_str($matches[0][0], $output);
print_r($output);
Try using parse_url
If you mean as what you written then it is very simple and don't need anything else there is a predefined Superglobal variable $_GET
in PHP which itself represents all the query string as key, value pairs associative array.
Example:
// current page URI: http://localhost/test.php?key1=value1&key2=value2
echo '<pre>';
print_r($_GET);
echo '</pre>';
Result:
Array(
[key1] = value1
[key2] = value2
)
For more information about $_GET
PHP superglobal goto: http://php.net/manual/en/reserved.variables.get.php