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 ['key1' => 'value1', 'key2' => 'value2']
.
I've come up to this piece of code. It works, but I find it a bit lengthy. (And PHP has built-in functions for everything: I'm surprised I haven't found anything out-of-the-box, something like the reverse of http_build_query
.)
Can you suggest a better way to do this?
function getUrlParams($url) {
$querystring = parse_url($url, PHP_URL_QUERY);
$a = explode("&", $querystring);
if (!(count($a) == 1 && $a[0] == "")) {
foreach ($a as $key => $value) {
$b = explode("=", $value);
$a[$b[0]] = $b[1];
unset ($a[$key]);
}
return $a;
} else {
return false;
}
}