热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

PHPURL处理的三个函数详解

本文详细介绍了PHP中与URL处理相关的三个函数:http_build_query、parse_str和查询字符串的解析。通过示例和语法说明,讲解了这些函数的使用方法和作用,帮助读者更好地理解和应用。

摘要:1. http_build_query函数说明:使用给出的关联(或下标)数组生成一个经过 URL-encode 的请求字符串。例子:$dat...

1. http_build_query函数

说明:使用给出的关联(或下标)数组生成一个经过 URL-encode 的请求字符串。

例子:

$data = array('name'=>'zhangsan',

'age'=>'22',

'sex'=>'男',

'height'=>'175');

echo http_build_query($data);

//结果:name=zhangsan&age=22&sex=男&height=175

2. parse_str函数

说明:把查询字符串解析到变量中

语法:parse_str(string,array)

@string必需。规定要解析的字符串。

@array可选。规定存储变量的数组的名称。该参数指示变量将被存储到数组中。

例子1:

$str = 'name=zhangsan&age=22&sex=男&height=175';

parse_str($str);

echo $name."
";

echo $age;

//结果:zhangsan 22

例子2:$str = 'name=zhangsan&age=22&sex=男&height=175';

parse_str($str, $arr);

var_dump($arr);

//结果:

array (size=4)

'name' => string 'zhangsan' (length=8)

'age' => string '22' (length=2)

'sex' => string '男' (length=3)

'height' => string '175' (length=3)

//个人总结:parse_str()是http_build_query()反向的函数

3. parse_url函数

说明:本函数将 URL 字符串予以解析,并将结果返回数组中。

返回的数组包括了下列元素:scheme、host、port、user、pass、path、query 与 fragment 等。

语法: array parse_url(string);

例子:

$str = 'https://www.yzmcms.com/index.php?m=content&c=index&a=lists&catid=18&catid=1';

$res = parse_url($str);

var_dump($res);

//结果:

array (size=4)

'scheme' => string 'http' (length=4)

'host' => string 'www.yzmcms.com' (length=14)

'path' => string '/index.php' (length=10)

'query' => string 'm=content&c=index&a=lists&catid=18&catid=1' (length=42)



推荐阅读
  • PHP 过滤器详解
    本文深入探讨了 PHP 中的过滤器机制,包括常见的 $_SERVER 变量、filter_has_var() 函数、filter_id() 函数、filter_input() 函数及其数组形式、filter_list() 函数以及 filter_var() 和其数组形式。同时,详细介绍了各种过滤器的用途和用法。 ... [详细]
  • 本题来自WC2014,题目编号为BZOJ3435、洛谷P3920和UOJ55。该问题描述了一棵不断生长的带权树及其节点上小精灵之间的友谊关系,要求实时计算每次新增节点后树上所有可能的朋友对数。 ... [详细]
  • 深入解析Spring启动过程
    本文详细介绍了Spring框架的启动流程,帮助开发者理解其内部机制。通过具体示例和代码片段,解释了Bean定义、工厂类、读取器以及条件评估等关键概念,使读者能够更全面地掌握Spring的初始化过程。 ... [详细]
  • 深入解析Redis内存对象模型
    本文详细介绍了Redis内存对象模型的关键知识点,包括内存统计、内存分配、数据存储细节及优化策略。通过实际案例和专业分析,帮助读者全面理解Redis内存管理机制。 ... [详细]
  • PHP 实现多级树形结构:构建无限层级分类系统
    在众多管理系统中,如菜单、分类和部门等模块,通常需要处理层级结构。为了高效管理和展示这些层级数据,本文将介绍如何使用 PHP 实现多级树形结构,并提供代码示例以帮助开发者轻松实现无限分级。 ... [详细]
  • 本文详细介绍了 iBatis.NET 中的 Iterate 元素,它用于遍历集合并重复生成每个项目的主体内容。通过该元素,可以实现类似于 foreach 的功能,尽管 iBatis.NET 并未直接提供 foreach 标签。 ... [详细]
  • 本文详细探讨了HTML表单中GET和POST请求的区别,包括它们的工作原理、数据传输方式、安全性及适用场景。同时,通过实例展示了如何在Servlet中处理这两种请求。 ... [详细]
  • 自 Node.js 6.3 版本起,调试功能已内置在核心模块中,无需额外安装 node-inspector 等工具。通过简单的命令即可启动调试模式,并利用 Chrome 浏览器进行高效的代码调试。 ... [详细]
  • Struts与Spring框架的集成指南
    本文详细介绍了如何将Struts和Spring两个流行的Java Web开发框架进行整合,涵盖从环境配置到代码实现的具体步骤。 ... [详细]
  • 本文探讨了使用C#在SQL Server和Access数据库中批量插入多条数据的性能差异。通过具体代码示例,详细分析了两种数据库的执行效率,并提供了优化建议。 ... [详细]
  • 本问题探讨了在特定条件下排列儿童队伍的方法数量。题目要求计算满足条件的队伍排列总数,并使用递推算法和大数处理技术来解决这一问题。 ... [详细]
  • 在创建新的Android项目时,您可能会遇到aapt错误,提示无法打开libstdc++.so.6共享对象文件。本文将探讨该问题的原因及解决方案。 ... [详细]
  • 深入解析for与foreach遍历集合时的性能差异
    本文将详细探讨for循环和foreach(迭代器)在遍历集合时的性能差异,并通过实际代码示例和源码分析,帮助读者理解这两种遍历方式的不同之处。文章内容丰富且专业,旨在为编程爱好者提供有价值的参考。 ... [详细]
  • 2018-2019学年第六周《Java数据结构与算法》学习总结
    本文总结了2018-2019学年第六周在《Java数据结构与算法》课程中的学习内容,重点介绍了非线性数据结构——树的相关知识及其应用。 ... [详细]
  • 本文探讨如何配置 Nginx 以将传入请求反向代理到运行在本地绑定端口上的 Docker 容器,并解决常见的路径重定向问题。 ... [详细]
author-avatar
ld无痕的心迹
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有