本文实例讲述了php使用parse_str实现查询字符串解析到变量中的方法。分享给大家供大家参考,具体如下:

parse_str()函数可实现把字符串解析到变量中,这意味着实现了字符串与变量之间的一种转换机制,在与客户端数据传递的过程中,数据是通过字符串的形式传递,如GET请求,然后在服务器端通过$_GET/$_POST等全局变量实现字符串与变量的转换,如:https://www./?index.php?var1=1&var2=2,请求后服务端可使用$_GET['var1']的方式获取var1=1&var2=2这一段字符串转换成变量。parse_str()函数可实现用样的功能,使用parse_str()函数解析$_SERVER['QUERY_STRING']的值,就可以直接实现字符串与变量的转换,如$var1。
一、函数原型
void parse_str ( string str [, array &arr] )
二、版本兼容
PHP 3, PHP 4, PHP 5
三、函数基础用法与实例
1. 解析字符串为变量
<?php
parse_str("var1=jb51&var2=parse_str");
echo $var1.$var2;
?>
2. 解析字符串并将变量存储到数组中
<?php
parse_str("var1=jb51&var2=parse_str",$array);
print_r($array);
?>
输出:
Array ( [var1] => jb51 [var2] => parse_str )
说明:这种将变量存储到数组中在PHP 4.0.3 才增加
3. 解析的字符串有空格
<?php
parse_str("v ar1=jb51&var 2=parse_str",$array);
print_r($array);
?>
输出:
Array ( [v_ar1] => jb51 [var_2] => parse_str )
说明:直接将空格转换为下划线_
四、注意事项
1. 如果未设置 array 参数,由该函数设置的变量将覆盖已由同名变量。
2. php.ini 中的 magic_quotes_gpc 设置影响该函数的输出。如果已启用,那么在 parse_str() 解析之前,变量会被 addslashes() 转换。
3. parse_str() 函数在处理参数时存在漏洞,攻击者可以利用这个漏洞启用register_globals,从而进一步利用其他PHP脚本中的漏洞。如果仅以一个参数调用 parse_str()的话,该函数会认为该参数是通过URL传送的请求字符串那样解析所提供的字符串,但外部攻击者可以在调用 parse_str()期间发送很多请求变量来触发memory_limit请求终止。如果在调用parse_str()期间执行了请求关闭的话,则在相关webserver进程的其余生命周期期间register_globals标签会一直打开。
更多关于PHP相关内容感兴趣的读者可查看本站专题:《php字符串(string)用法总结》、《PHP数据结构与算法教程》、《php程序设计算法总结》、《php排序算法总结》、《PHP常用遍历算法与技巧总结》、《PHP数学运算技巧总结》、《PHP数组(Array)操作技巧大全》及《php常见数据库操作技巧汇总》
希望本文所述对大家PHP程序设计有所帮助。
# php
# parse_str
# 查询
# 字符串
# 解析
# 变量
# PHP正在进行时-变量详解及字符串动态插入变量
# php解析http获取的json字符串变量总是空白null
# php 变量定义方法
# php中static静态变量的使用方法详解
# php判断变量类型常用方法
# PHP中session变量的销毁
# PHP 判断常量
# 变量和函数是否存在
# PHP 变量类型的强制转换
# 解析在PHP中使用全局变量的几种方法
# PHP中使用unset销毁变量并内存释放问题
# php 字符串中是否包含指定字符串的多种方法
# php变量与字符串的增删改查操作示例
# 程序设计
# 组中
# 操作技巧
# 相关内容
# 遍历
# 下划线
# 感兴趣
# 数据结构
# 给大家
# 并将
# 所提供
# 在与
# 则在
# 转换成
# 更多关于
# 转换为
# 可以利用
# 所述
# 服务端
# 已由
相关文章:
如何正确下载安装西数主机建站助手?
如何快速生成高效建站系统源代码?
建站之星如何配置系统实现高效建站?
微网站制作教程,我微信里的网站怎么才能复制到浏览器里?
如何选择高效稳定的ISP建站解决方案?
如何通过服务器快速搭建网站?完整步骤解析
网站制作培训多少钱一个月,网站优化seo培训课程有哪些?
网站代码制作软件有哪些,如何生成自己网站的代码?
宝塔新建站点为何无法访问?如何排查?
建站之星安装失败:服务器环境不兼容?
已有域名和空间如何快速搭建网站?
魔毅自助建站系统:模板定制与SEO优化一键生成指南
广州网站设计制作一条龙,广州巨网网络科技有限公司是干什么的?
定制建站如何定义?其核心优势是什么?
桂林网站制作公司有哪些,桂林马拉松怎么报名?
如何在IIS中新建站点并配置端口与IP地址?
如何快速完成中国万网建站详细流程?
c# 在高并发场景下,委托和接口调用的性能对比
建站之星Pro快速搭建教程:模板选择与功能配置指南
如何在云虚拟主机上快速搭建个人网站?
外贸公司网站制作,外贸网站建设一般有哪些步骤?
完全自定义免费建站平台:主题模板在线生成一站式服务
图册素材网站设计制作软件,图册的导出方式有几种?
制作网站的模板软件,网站怎么建设?
如何在Golang中使用encoding/gob序列化对象_存储和传输数据
潍坊网站制作公司有哪些,潍坊哪家招聘网站好?
建站之星在线版空间:自助建站+智能模板一键生成方案
武汉网站如何制作,黄黄高铁武穴北站途经哪些村庄?
建站之星3.0如何解决常见操作问题?
如何选购建站域名与空间?自助平台全解析
制作网站建设的公司有哪些,网站建设比较好的公司都有哪些?
专业公司网站制作公司,用什么语言做企业网站比较好?
如何生成腾讯云建站专用兑换码?
营销式网站制作方案,销售哪个网站招聘效果最好?
合肥制作网站的公司有哪些,合肥聚美网络科技有限公司介绍?
香港服务器网站测试全流程:性能评估、SEO加载与移动适配优化
如何通过老薛主机一键快速建站?
网站制作公司排行榜,抖音怎样做个人官方网站
大连 网站制作,大连天途有线官网?
建站主机类型有哪些?如何正确选型
c++怎么编写动态链接库dll_c++ __declspec(dllexport)导出与调用【方法】
如何通过虚拟主机空间快速建站?
高端建站如何打造兼具美学与转化的品牌官网?
湖南网站制作公司,湖南上善若水科技有限公司做什么的?
如何制作新型网站程序文件,新型止水鱼鳞网要拆除吗?
盐城做公司网站,江苏电子版退休证办理流程?
c# await 一个已经完成的Task会发生什么
美食网站链接制作教程视频,哪个教做美食的网站比较专业点?
官网自助建站平台指南:在线制作、快速建站与模板选择全解析
高性能网站服务器配置指南:安全稳定与高效建站核心方案
*请认真填写需求信息,我们会在24小时内与您取得联系。