How to Extract Query String (from a URL) Into an Associative Array in PHP

October 26, 2018

If you have a query string (such as ?a=foo&b=bar) and want to convert that into a PHP array, this is how to do it.

Let's take a full example, where we begin with a URL, get the query string part of it, then convert that into an array.

<?php
        $url = "https://example.com/?foo=bar&foo2=bar2";
        $parsed_url = parse_url($url);
        // $parsed_url is an array of the parts of the URL, such as host, query_string, path, etc
        $query_string = $parsed_url["query"];
        // $query_string is now foo=bar&foo2=bar2
        // now let's convert that into an array:
        // don't forget the 2nd param - it is the variable where the array will be
         parse_str($query_string,$array_of_query_string);
        return $array_of_query_string;
array(2) {

["foo"]=> string(3) "bar"

["foo2"]=> string(4) "bar2"

}