下面一段代码是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&region=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&region=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参数的情况下,我们可以根据自身情况采用$_GET来获取相应的参数信息($_GET["name"]);那,在未知情况下如何获取到URL上的参数信息呢?

第一种、利用$_SERVER内置数组变量

相对较为原始的$_SERVER["QUERY_STRING"]来获取,URL的参数,通常使用这个变量返回的会是类似这样的数据:name=tank&sex=1如果需要包含文件名的话可以使用$_SERVER["REQUEST_URI"](返回类似:/index.php?name=tank&sex=1)

第二种、利用pathinfo内置函数

代码如下:<?php $test = pathinfo("http://localhost/index.php");print_r($test);/*

结果如下Array( [dirname] => http://localhost //url的路径 [basename] => index.php //完整文件名 [extension] => php //文件名后缀 [filename] => index //文件名)*/?>

第三种、利用parse_url内置函数

代码如下:<?php $test = parse_url("http://localhost/index.php?name=tank&sex=1#top");print_r($test);/*

结果如下Array( [scheme] => http //使用什么协议 [host] => localhost //主机名 [path] => /index.php //路径 [query] => name=tank&sex=1 // 所传的参数 [fragment] => top //后面根的锚点)*/?>

第四种、利用basename内置函数

代码如下:<?php $test = basename("http://localhost/index.php?name=tank&sex=1#top");echo $test;/*

结果如下index.php?name=tank&sex=1#top*/?>

另外,还有就是自己通过正则匹配的处理方式来获取需要的值了。这种方式较为精确,效率暂不考虑。。。下面拓展实践下正则处理方式:

代码如下:<?phppreg_match_all ("/(w+=w+)(#w+)?/i","http://localhost/index.php?name=tank&sex=1#top",$match);print_r($match);/*

结果如下Array( [0] => Array ( [0] => name=tank [1] => sex=1#top ) [1] => Array ( [0] => name=tank [1] => sex=1 ) [2] => Array ( [0] => [1] => #top ))*/?>

php获取url传递的参数,php解析url并得到url中的参数及获取url参数的四种方式相关推荐

  1. php解析url并得到url中的参数及获取url参数的四种方式

    本文给大家介绍php解析url并得到url中的参数及获取url参数的四种方式,涉及到将字符串参数变为数组,将参数变为字符串的相关知识,本文代码简单易懂,感兴趣的朋友一起看看吧 下面一段代码是php解析 ...

  2. ios页面间传递参数四种方式

    ios页面间传递参数四种方式 1.使用SharedApplication,定义一个变量来传递. 2.使用文件,或者NSUserdefault来传递 3.通过一个单例的class来传递 4.通过Dele ...

  3. 详解vue 路由跳转四种方式 (带参数)

    本文介绍了vue 路由跳转四种方式 (带参数),本文通过实例代码给大家介绍的详细,具有一定的参考借鉴价值,需要的朋友可以参考下 1. router-link 1. 不带参数 <router-li ...

  4. 深入解析react关于事件绑定this的四种方式

    这篇文章主要介绍了详解react关于事件绑定this的四种方式,写的十分的全面细致,具有一定的参考价值,对此有需要的朋友可以参考学习下.如有不足之处,欢迎批评指正. 在react组件中,每个方法的上下 ...

  5. php访问url的四种方式

    php访问url的四种方式 1.fopen方式 //访问指定URL函数 [php] view plain copy print? function access_url($url) { if ($ur ...

  6. java解析与生成json数据的四种方式,比如将json字符串转为json对象或json对象转为json字符串

    文章目录 1. 详说json 1.1 何为json 1.2 json语法 2. Java解析与生成JSON的四种方式 2.1 传统方式 2.2 利用Jackson方式 2.3 利用Gson方式 2.4 ...

  7. @Import注解:导入配置类的四种方式源码解析

    微信搜索:码农StayUp 主页地址:https://gozhuyinglong.github.io 源码分享:https://github.com/gozhuyinglong/blog-demos ...

  8. vue路由跳转写法在html,详解vue 路由跳转四种方式 (带参数)

    1.  router-link 1. 不带参数 //name,path都行, 建议用name // 注意:router-link中链接如果是'/'开始就是从根路由开始,如果开始不带'/',则从当前路由 ...

  9. Java反射机制01_反射的概念以及获取字节码信息 的四种方式

    Java反射机制01-反射的概念以及获取字节码信息 的四种方式 一.反射的概念 JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法:对于任意一个对象, 都能够调用它的任意 ...

  10. jquery获取元素四种方式。

    jquery获取元素四种方式. 当你成功引入jquery插件之后,就可以用jquery的语法来获取html元素. js获取只有document.getElementById或者通过名称来获取. 而jq ...

最新文章

  1. windows linux rac,跨平台表空间传输(windows到linux RAC)
  2. 王兴和张一鸣和我们的互联网启蒙
  3. java if switch 效率_Java中 switch-case 如何优化?
  4. 自动回复_小程序消息自动回复
  5. java windows系统监控_Windows资源监控工具大全
  6. Lower Power with CPF(三)
  7. java编码给出二维数组List<List<Integer>>matrix,输出每列最小的值
  8. 2012年5月份第2周51Aspx源码发布详情
  9. 异常的捕获 try...catch java
  10. Docker 的出现
  11. 【转】selenium之 定位以及切换frame
  12. FreeTextBox备忘
  13. 《CSS权威指南》读书笔记
  14. elasticsearch版本介绍
  15. 什么表示计算机的存储容量,计算机的存储容量是指它具有的什么
  16. React.js基础知识总结一
  17. 应届毕业生零基础转行做程序员,怎么看?
  18. Sqlmap中代理及其他常用参数
  19. P5556 圣剑护符 题解
  20. arcgis,裁剪投影不一致的矢量和栅格

热门文章

  1. Python中sorted函数的用法
  2. Python爬虫遍历文档树
  3. 78折用计算机怎么算,一分钟速算口诀,计算速度秒杀计算器
  4. Linux编译安装中configure、make和make install各自的作用详解
  5. 【深度学习的数学】初始权重和偏置参数对模型训练非常重要!(预训练模型、预训练文件、初始权重)
  6. tensorflow 开始——创建定制化 Estimator(创建自定义评估器)
  7. 人体姿态估计论文总结 (2D + 视频)
  8. 修建道路 贪心,思维(女赛)
  9. 大庆东风中学高考成绩查询2021年,2021年大庆中考成绩和分数线什么时候公布(附查询入口)...
  10. Spring Security 玩出花!两种方式 DIY 登录