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实现的下载css文件中的图片的代码
Feb 08 PHP
nginx+php-fpm配置文件的组织结构介绍
Nov 07 PHP
php解析xml方法实例详解
May 12 PHP
php批量删除超链接的实现方法
Oct 19 PHP
php实现点击可刷新验证码
Nov 07 PHP
变量在 PHP7 内部的实现(一)
Dec 21 PHP
PHP微信开发之文本自动回复
Jun 23 PHP
Yii2框架dropDownList下拉菜单用法实例分析
Jul 18 PHP
php微信高级接口调用方法(自定义菜单接口、客服接口、二维码)
Nov 28 PHP
PHP超低内存遍历目录文件和读取超大文件的方法
May 01 PHP
Thinkphp 框架扩展之类库扩展操作详解
Apr 23 PHP
php+laravel 扫码二维码签到功能
May 15 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
虫族 Zerg 历史背景
2020/03/14 星际争霸
调整优化您的LAMP应用程序的5种简单方法
2011/06/26 PHP
php中\r \r\n \t的区别示例介绍
2014/02/08 PHP
PHP创建自己的Composer包方法
2018/04/09 PHP
js创建对象的几种常用方式小结(推荐)
2010/10/24 Javascript
autoPlay 基于jquery的图片自动播放效果
2011/12/07 Javascript
ASP.NET jQuery 实例5 (显示CheckBoxList成员选中的内容)
2012/01/13 Javascript
ExtJS4 Grid改变单元格背景颜色及Column render学习
2013/02/06 Javascript
ExtJS下 Ext.Direct加载和提交过程排错小结
2013/04/02 Javascript
jQuery实现table隔行换色和鼠标经过变色的两种方法
2014/06/15 Javascript
JavaScript Sort 的一个错误用法示例
2015/03/20 Javascript
原生js三级联动的简单实现代码
2016/06/07 Javascript
js实现图片淡入淡出切换简易效果
2016/08/22 Javascript
JS常用函数和常用技巧小结
2016/10/15 Javascript
Vue.js实现无限加载与分页功能开发
2016/11/03 Javascript
JQuery 获取Dom元素的实例讲解
2017/07/08 jQuery
Vue组件之单向数据流的解决方法
2018/11/10 Javascript
JavaScript实现单英文金山打字通
2020/07/24 Javascript
监控Nodejs的性能实例代码
2019/07/02 NodeJs
JavaScript随机数的组合问题案例分析
2020/05/16 Javascript
JS性能优化实现方法及优点进行
2020/08/30 Javascript
通过实例解析js可枚举属性与不可枚举属性
2020/12/02 Javascript
Vue实现圆环进度条的示例
2021/02/06 Vue.js
python根据出生日期获得年龄的方法
2015/03/31 Python
解决python 自动安装缺少模块的问题
2018/10/22 Python
用python生成1000个txt文件的方法
2018/10/25 Python
python开启debug模式的方法
2019/06/27 Python
Python Pandas数据中对时间的操作
2019/07/30 Python
selenium携带cookies模拟登陆CSDN的实现
2021/01/19 Python
html5音频_动力节点Java学院整理
2018/08/22 HTML / CSS
找到您丢失的钥匙、钱包和手机:Tile
2017/05/19 全球购物
拾金不昧的表扬信
2014/01/16 职场文书
如何编写优秀的食品项目创业计划书
2014/01/23 职场文书
党员廉洁自律承诺书
2014/05/26 职场文书
MySQL连接查询你真的学会了吗?
2021/06/02 MySQL
基于Redis zSet实现滑动窗口对短信进行防刷限流的问题
2022/02/12 Redis