(PECL pecl_http >= 0.21.0)
http_build_url — Build a URL
$url
   [, mixed $parts
   [, int $flags = HTTP_URL_REPLACE
   [, array &$new_url
  ]]]] )Build a URL.
The parts of the second URL will be merged into the first according to the flags argument.
url(part(s) of) a URL in form of a string or associative array like parse_url() returns
partssame as the first argument
flags
       a bitmask of binary or'ed HTTP_URL constants;
       HTTP_URL_REPLACE is the default
      
new_urlif set, it will be filled with the parts of the composed url like parse_url() would return
   Returns the new URL as string on success or FALSE on failure.
  
Example #1 A http_build_url() example
<?php
echo http_build_url("http://user@www.example.com/pub/index.php?a=b#files",
    array(
        "scheme" => "ftp",
        "host" => "ftp.example.com",
        "path" => "files/current/",
        "query" => "a=c"
    ),
    HTTP_URL_STRIP_AUTH | HTTP_URL_JOIN_PATH | HTTP_URL_JOIN_QUERY | HTTP_URL_STRIP_FRAGMENT
);
?>
The above example will output:
ftp://ftp.example.com/pub/files/current/?a=c