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循环依次操作等