主页 > 知识库 > PHP解析url并得到url参数方法总结

PHP解析url并得到url参数方法总结

热门标签:阿里云 电子围栏 Mysql连接数设置 Linux服务器 科大讯飞语音识别系统 团购网站 服务器配置 银行业务

PHP 中解析 url 并得到 url 参数

这里介绍两种对url操作的方法:

1、拿到一个完整url后,如何解析该url得到里面的参数。

/**
 * 解析url中参数信息,返回参数数组
 */
function convertUrlQuery($query)
{
  $queryParts = explode('', $query);
 
  $params = array();
  foreach ($queryParts as $param) {
   $item = explode('=', $param);
   $params[$item[0]] = $item[1];
  }
 
  return $params;
}

2、如何把一个数组拼接成url传递。

/**
 * 把数组拼接成url参数形式
 */
function getUrlQuery($array_query)
{
  $tmp = array();
  foreach ($array_query as $k => $param) {
   $tmp[] = $k . '=' . $param;
  }
  $params = implode('', $tmp);
  return $params;
}

测试调用:

$url = 'http://www.test.com/link?param1=1param2=2param3=3';
// 解析url,得到参数字符串
$url = parse_url($url);
// 字符串->数组
$param_arr = $this->convertUrlQuery($url['query']);
// 数组->字符串
$param_str = $this->getUrlQuery($param_arr);

PHP 中解析 url 并得到 url 参数

这里介绍两种对url操作的方法:

1、拿到一个完整url后,如何解析该url得到里面的参数。

/**
 * 解析url中参数信息,返回参数数组
 */
function convertUrlQuery($query)
{
  $queryParts = explode('', $query);
 
  $params = array();
  foreach ($queryParts as $param) {
   $item = explode('=', $param);
   $params[$item[0]] = $item[1];
  }
 
  return $params;
}

2、如何把一个数组拼接成url传递。

/**
 * 把数组拼接成url参数形式
 */
function getUrlQuery($array_query)
{
  $tmp = array();
  foreach ($array_query as $k => $param) {
   $tmp[] = $k . '=' . $param;
  }
  $params = implode('', $tmp);
  return $params;
}

测试调用:

$url = 'http://www.test.com/link?param1=1param2=2param3=3';
// 解析url,得到参数字符串
$url = parse_url($url);
// 字符串->数组
$param_arr = $this->convertUrlQuery($url['query']);
// 数组->字符串
$param_str = $this->getUrlQuery($param_arr);

您可能感兴趣的文章:
  • php获取url参数方法总结
  • php获取URL中带#号等特殊符号参数的解决方法
  • PHP中CURL的CURLOPT_POSTFIELDS参数使用细节
  • php获得url参数中具有&的值的方法
  • PHP URL参数获取方式的四种例子
  • PHP CURL CURLOPT参数说明(curl_setopt)

标签:大理 江苏 衡水 萍乡 枣庄 蚌埠 广元 衢州

巨人网络通讯声明:本文标题《PHP解析url并得到url参数方法总结》,本文关键词  ;如发现本文内容存在版权问题,烦请提供相关信息告之我们,我们将及时沟通与处理。本站内容系统采集于网络,涉及言论、版权与本站无关。
  • 相关文章
  • 收缩
    • 微信客服
    • 微信二维码
    • 电话咨询

    • 400-1100-266