欢迎您访问我的笔记本站旨在于记录一些平时工作中遇到的一些问题和解决方法,方便查阅,部分内容来源于网络,如有侵权请联系我删除
  • 微信微信
您现在的位置是:首页 > PHP后端

PHP函数parse_str()与http_build_query()-[原创]

日期:2018-09-03 17:12:07 作者:tanyi 来源:我的笔记 浏览:1298 次
这两个函数用起来非常方便,个人在构造分页链接的时候用得比较多

parse_str()

void parse_str ( string $encoded_string [, array &$result ] )

这个函数可以将当前的query_string解析为变量并设置到当前作用域(如果提供了 result 则会设置到该数组里 )。

例子:

//当前query_string
$query_string='test1=aa&test2=bb';
parse_str($query_string,$result);
print_r($re);

结果为:

(
    [test1] => aa
    [test2] => bb
)

如果不设置result变量,则会将解析的变量设置到当前作作用域;

//当前query_string
$query_string='test1=aa&test2=bb';
parse_str($query_string);
echo $test1;

输出结果为aa

http_build_query()函数

string http_build_query ( mixed $query_data [, string $numeric_prefix [, string $arg_separator [, int $enc_type =PHP_QUERY_RFC1738 ]]] )


这个函数可以理解为parse_str()的反函数,他可以将数组转换成query_string,参数query_data可以使数组也可以是对象,具体可以查看官方文档,这里只谈数组的情况


假如入你的分页连接是这样:http://xxxx?page=1


这时需要加入额外参数,比如在构建第二页分页连接的时候(此时分页有额外参数,如搜索列表的时候),这时连接应该是这样:http://xxxx?page=2&key=test; key为搜索字段,test为搜索值


那么程序可以这样来构建分页连接:

$url='http://xxxx?';

//第几页
$page=xxx;

//url参数
$query_data=$_REQUEST;

$query_data['page']=$page;

$query_str=http_build_query($query_data);

//最后的分页链接
$page_url=$url.$query_str;


这只是个简单的例子,仅供新手参考,实际代码中肯定还有很多其他的操作,比如一共显示几页,然后for循环依次操作等



提交评论
评论列表