Преобразование строки запроса в ассоциативный массив

​​В PHP мне нужна функция для преобразования строки запроса из URL, например: http://example.com?key1=value1&key2=value2 в ассоциативный массив PHP: array [' key1 '=>' значение1 ',' key2 '=>' значение2 '] .

Я подошел к этому фрагменту кода. Это работает, но мне кажется, что это немного длинновато. (И PHP имеет встроенные функции для всего: я удивлен, что не нашел ничего нестандартного, что-то вроде обратного http_build_query .)

Не могли бы вы предложить как лучше сделать это?

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;
  }
}
26
задан Nicolas Le Thierry d'Ennequin 30 November 2011 в 10:41
поделиться