php解析url并得到url中的参数

Posted zhaoying

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php解析url并得到url中的参数相关的知识,希望对你有一定的参考价值。

<?php
$url = ‘http://www.baidu.com/index.php?m=content&c=index&a=lists&catid=6&area=0&author=0&h=0®ion=0&s=1&page=1‘;
$arr = parse_url($url);
var_dump($arr);
$arr_query = convertUrlQuery($arr[‘query‘]);
var_dump($arr_query);
var_dump(getUrlQuery($arr_query));
/**
 * 将字符串参数变为数组
 * @param $query
 * @return array array (size=10)
          ‘m‘ => string ‘content‘ (length=7)
          ‘c‘ => string ‘index‘ (length=5)
          ‘a‘ => string ‘lists‘ (length=5)
          ‘catid‘ => string ‘6‘ (length=1)
          ‘area‘ => string ‘0‘ (length=1)
          ‘author‘ => string ‘0‘ (length=1)
          ‘h‘ => string ‘0‘ (length=1)
          ‘region‘ => string ‘0‘ (length=1)
          ‘s‘ => string ‘1‘ (length=1)
          ‘page‘ => string ‘1‘ (length=1)
 */
function convertUrlQuery($query)
{
  $queryParts = explode(‘&‘, $query);
  $params = array();
  foreach ($queryParts as $param) {
    $item = explode(‘=‘, $param);
    $params[$item[0]] = $item[1];
  }
  return $params;
}
/**
 * 将参数变为字符串
 * @param $array_query
 * @return string string ‘m=content&c=index&a=lists&catid=6&area=0&author=0&h=0®ion=0&s=1&page=1‘ (length=73)
 */
function getUrlQuery($array_query)
{
  $tmp = array();
  foreach($array_query as $k=>$param)
  {
    $tmp[] = $k.‘=‘.$param;
  }
  $params = implode(‘&‘,$tmp);
  return $params;
}

以上是关于php解析url并得到url中的参数的主要内容,如果未能解决你的问题,请参考以下文章

在请求中将数字作为URL中的参数传递:PHP

100分求PHP获取图中链接URL中的ID数字值。

PHP中的URL处理

获取 PHP 中的 URL 参数

router.php 问题并通过 joomla3 组件中的 URL 发送参数

如何从PHP中的URL获取多个同名参数并将所有记录插入表中