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


Posted in PHP onOctober 11, 2018

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=1¶m2=2¶m3=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=1¶m2=2¶m3=3';
// 解析url,得到参数字符串
$url = parse_url($url);
// 字符串->数组
$param_arr = $this->convertUrlQuery($url['query']);
// 数组->字符串
$param_str = $this->getUrlQuery($param_arr);
PHP 相关文章推荐
PHP动态图像的创建
Oct 09 PHP
新版PHP极大的增强功能和性能
Oct 09 PHP
PHP实现分页的一个示例
Oct 09 PHP
CI框架源码阅读,系统常量文件constants.php的配置
Feb 28 PHP
计算php页面运行时间的函数介绍
Jul 01 PHP
php使用APC实现实时上传进度条功能
Oct 26 PHP
php自定义函数实现汉字转换utf8编码的方法
Sep 29 PHP
PHP对称加密函数实现数据的加密解密
Oct 27 PHP
PHP基于Redis消息队列实现发布微博的方法
May 03 PHP
PHP 7.1中AES加解密方法mcrypt_module_open()的替换方案
Oct 17 PHP
php和redis实现秒杀活动的流程
Jul 17 PHP
laravel 实现向公共模板中传值 (view composer)
Oct 22 PHP
详细对比php中类继承和接口继承
Oct 11 #PHP
PHP JWT初识及其简单示例
Oct 10 #PHP
php-fpm.conf配置文件中文说明详解及重要参数说明
Oct 10 #PHP
php实现单笔转账到支付宝功能
Oct 09 #PHP
php实现小程序支付完整版
Oct 09 #PHP
php实现微信企业付款到个人零钱功能
Oct 09 #PHP
php实现构建排除当前元素的乘积数组方法
Oct 06 #PHP
You might like
咖啡知识 除了喝咖啡还有那些知识点
2021/03/06 新手入门
php基础知识:类与对象(1)
2006/12/13 PHP
php代码把全角数字转为半角数字
2007/12/10 PHP
PHP Cookie学习笔记
2016/08/23 PHP
jQuery.getScript加载同域JS的代码
2012/02/13 Javascript
angularJS中router的使用指南
2015/02/09 Javascript
基于jQuery实现放大镜特效
2020/10/19 Javascript
JavaScript开发Chrome浏览器扩展程序UI的教程
2016/05/16 Javascript
基于jquery插件编写countdown计时器
2016/06/12 Javascript
AngularJS的Filter的示例详解
2017/03/07 Javascript
Vue.js中轻松解决v-for执行出错的三个方案
2017/06/09 Javascript
3种vue路由传参的基本模式
2018/02/22 Javascript
vue实现与安卓、IOS交互的方法
2018/11/02 Javascript
详解vue-cli 2.0配置文件(小结)
2019/01/14 Javascript
scrapyd schedule.json setting 传入多个值问题
2019/08/07 Javascript
JavaScript(js)处理的HTML事件、键盘事件、鼠标事件简单示例
2019/11/19 Javascript
vue实现简易图片左右旋转,上一张,下一张组件案例
2020/07/31 Javascript
[49:18]2018DOTA2亚洲邀请赛 3.31 小组赛 A组 OG vs TNC
2018/04/01 DOTA
Python回调函数用法实例详解
2015/07/02 Python
在arcgis使用python脚本进行字段计算时是如何解决中文问题的
2015/10/18 Python
举例讲解Python中字典的合并值相加与异或对比
2016/06/04 Python
Python的Flask框架中配置多个子域名的方法讲解
2016/06/07 Python
将Python文件打包成.EXE可执行文件的方法
2019/08/11 Python
Python如何使用argparse模块处理命令行参数
2019/12/11 Python
三个python爬虫项目实例代码
2019/12/28 Python
Selenium执行完毕未关闭chromedriver/geckodriver进程的解决办法(java版+python版)
2020/12/07 Python
Argos官网:英国家喻户晓的百货零售连锁商
2017/04/03 全球购物
伦敦一家西班牙童装精品店:La Coqueta
2018/02/02 全球购物
大专生自我鉴定范文
2013/10/01 职场文书
思想汇报格式
2014/01/05 职场文书
团支部推优材料
2014/05/21 职场文书
岗位工作说明书
2014/07/29 职场文书
高中课前三分钟演讲稿
2014/08/18 职场文书
幼儿园端午节活动总结
2015/05/05 职场文书
Redis的字符串是如何实现的
2021/10/24 Redis
vue/cli 配置动态代理无需重启服务的方法
2022/05/20 Vue.js