Method summary of PHP parsing url and obtaining url parameters

  • 2021-11-02 00:16:59
  • OfStack

url is parsed in PHP and url parameters are obtained

Here are two ways to operate on url:

1. After getting a complete url, how to parse the url to get the parameters inside.


/**
 *  Analyse url Returns an array of parameters 
 */
function convertUrlQuery($query)
{
  $queryParts = explode('&', $query);
 
  $params = array();
  foreach ($queryParts as $param) {
   $item = explode('=', $param);
   $params[$item[0]] = $item[1];
  }
 
  return $params;
}

2. How to splice an array into url for transmission.


/**
 *  Splice arrays into url Parametric form 
 */
function getUrlQuery($array_query)
{
  $tmp = array();
  foreach ($array_query as $k => $param) {
   $tmp[] = $k . '=' . $param;
  }
  $params = implode('&', $tmp);
  return $params;
}

Test call:


$url = 'http://www.test.com/link?param1=1&param2=2&param3=3';
//  Analyse url To get the parameter string 
$url = parse_url($url);
//  String -> Array 
$param_arr = $this->convertUrlQuery($url['query']);
//  Array -> String 
$param_str = $this->getUrlQuery($param_arr);

In PHP, url is analyzed and url parameters are obtained

Here are two ways to operate on url:

1. After getting a complete url, how to parse the url to get the parameters inside.


/**
 *  Analyse url Returns an array of parameters 
 */
function convertUrlQuery($query)
{
  $queryParts = explode('&', $query);
 
  $params = array();
  foreach ($queryParts as $param) {
   $item = explode('=', $param);
   $params[$item[0]] = $item[1];
  }
 
  return $params;
}

2. How to splice an array into url for transmission.


/**
 *  Splice arrays into url Parametric form 
 */
function getUrlQuery($array_query)
{
  $tmp = array();
  foreach ($array_query as $k => $param) {
   $tmp[] = $k . '=' . $param;
  }
  $params = implode('&', $tmp);
  return $params;
}

Test call:


$url = 'http://www.test.com/link?param1=1&param2=2&param3=3';
//  Analyse url To get the parameter string 
$url = parse_url($url);
//  String -> Array 
$param_arr = $this->convertUrlQuery($url['query']);
//  Array -> String 
$param_str = $this->getUrlQuery($param_arr);


Related articles: