php使用parse_str实现查询字符串解析到变量中的方法


Posted in PHP onFebruary 17, 2017

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

parse_str()函数可实现把字符串解析到变量中,这意味着实现了字符串与变量之间的一种转换机制,在与客户端数据传递的过程中,数据是通过字符串的形式传递,如GET请求,然后在服务器端通过$_GET/$_POST等全局变量实现字符串与变量的转换,如:https://3water.com/?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=3water&var2=parse_str");
echo $var1.$var2;
?>

2. 解析字符串并将变量存储到数组中

<?php
parse_str("var1=3water&var2=parse_str",$array);
print_r($array);
?>

输出:

Array ( [var1] => 3water [var2] => parse_str )

说明:这种将变量存储到数组中在PHP 4.0.3 才增加

3. 解析的字符串有空格

<?php
parse_str("v ar1=3water&var 2=parse_str",$array);
print_r($array);
?>

输出:

Array ( [v_ar1] => 3water [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 相关文章推荐
搜索和替换文件或目录的一个好类--很实用
Oct 09 PHP
smarty 原来也不过如此~~呵呵
Nov 25 PHP
PHP三元运算的2种写法代码实例
May 12 PHP
php过滤html标记属性类用法实例
Sep 23 PHP
php模拟登陆的实现方法分析
Jan 09 PHP
php判断文件夹是否存在不存在则创建
Apr 09 PHP
PHP统一页面编码避免乱码问题
Apr 09 PHP
解析WordPress中函数钩子hook的作用及基本用法
Dec 22 PHP
php swoole多进程/多线程用法示例【基于php7nts版】
Aug 12 PHP
php和nginx交互实例讲解
Sep 24 PHP
PHP手机号码及邮箱正则表达式实例解析
Jul 11 PHP
PHP序列化和反序列化深度剖析实例讲解
Dec 29 PHP
php使用str_shuffle()函数生成随机字符串的方法分析
Feb 17 #PHP
Json_decode 解析json字符串为NULL的解决方法(必看)
Feb 17 #PHP
PHP中单例模式与工厂模式详解
Feb 17 #PHP
PHP封装返回Ajax字符串和JSON数组的方法
Feb 17 #PHP
PHP合并数组函数array_merge用法分析
Feb 17 #PHP
yii2利用自带UploadedFile实现上传图片的示例
Feb 16 #PHP
php利用imagemagick实现复古老照片效果实例
Feb 16 #PHP
You might like
php判断GIF图片是否为动画的方法
2020/09/04 PHP
从零开始学YII2框架(六)高级应用程序模板
2014/08/20 PHP
Yii框架弹出窗口组件CJuiDialog用法分析
2017/01/07 PHP
php 访问oracle 存储过程实例详解
2017/01/08 PHP
PHP使用imagick扩展实现合并图像的方法
2017/04/25 PHP
基于jquery的图片的切换(以数字的形式)
2011/02/14 Javascript
jQuery中$.fn的用法示例介绍
2013/11/05 Javascript
jquery $(&quot;#variable&quot;) 循环改变variable的值示例
2014/02/23 Javascript
Js+Jq获取URL参数的集中方法示例代码
2014/05/20 Javascript
Javascript中获取对象的原型对象的方法小结
2015/02/25 Javascript
JavaScript希尔排序、快速排序、归并排序算法
2016/05/08 Javascript
浅析javascript中的Event事件
2016/12/09 Javascript
bootstrap table表格客户端分页实例
2017/08/07 Javascript
Vue 2.0入门基础知识之内部指令详解
2017/10/15 Javascript
解读vue生成的文件目录结构及说明
2017/11/27 Javascript
layer弹出的iframe层在执行完毕后关闭当前弹出层的方法
2018/08/17 Javascript
对vue 键盘回车事件的实例讲解
2018/08/25 Javascript
解决vue项目使用font-awesome,build后路径的问题
2018/09/01 Javascript
Python中字典的基本知识初步介绍
2015/05/21 Python
Python内置模块logging用法实例分析
2018/02/12 Python
python opencv将表格图片按照表格框线分割和识别
2019/10/30 Python
python:解析requests返回的response(json格式)说明
2020/04/30 Python
协程Python 中实现多任务耗资源最小的方式
2020/10/19 Python
CSS3感应鼠标的背景闪烁和图片缩放动画效果
2014/05/14 HTML / CSS
加拿大领先的优质厨具产品在线购物网站:Golda’s Kitchen
2017/11/17 全球购物
FILA德国官方网站:来自意大利的体育和街头服饰品牌
2019/07/19 全球购物
Guess欧洲官网:美国服饰品牌
2019/08/06 全球购物
英国Lookfantastic中文网站:护肤品美妆美发购物(英国直邮)
2020/04/27 全球购物
JavaScript获取当前url根目录(路径)
2014/02/19 面试题
财务主管自我鉴定
2014/01/17 职场文书
人力资源专员岗位职责
2014/01/30 职场文书
物理系毕业生自荐书
2014/06/13 职场文书
2014优秀大学生简历自我评价
2014/09/15 职场文书
2014年妇女工作总结
2014/12/06 职场文书
微信搭讪开场白
2015/05/28 职场文书
运动会宣传稿50字
2015/07/23 职场文书