5 php optimization query-string
我的一个网站在分页之上有一些非常复杂的排序功能,各种变量加起来形成一个相当复杂的 URL,管理起来非常痛苦。有没有办法有效管理 QUERY_STRING?
我的意思是...如果url是index.php?catid=3&sort=date&year=2009&page=2并且我希望用户跳转到第3页,或者更改排序方法......我将如何保留剩余的变量,而不用 if/else 条件检查每个单独的变量,并在链接到第 3 页或替代排序方法的链接中回显它们。
要处理实际的查询字符串(字符串格式),您可以使用parse_str()
. 当您想要构建查询字符串时,请使用http_build_query()
.
这些文档页面上有很多示例。
如果由于某种原因您无法使用http_build_query
,请查看我的关于内爆关联数组的最快方法的问题。
<?php
$QueryString = 'catid=3&sort=date&year=2009&page=2'; // sample querystring
parse_str($QueryString, $HttpQuery);
print_r($HttpQuery); // will be an associative array
$HttpQuery['page'] = 3; // change any values
$NewQueryString = http_build_query($HttpQuery); // rebuild the querystring
Run Code Online (Sandbox Code Playgroud)