php - 在 php 中管理 QUERY_STRING 的最佳方法是什么?

标签 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,请查看我关于 fastest way to implode an associative array 的问题.

<?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

关于php - 在 php 中管理 QUERY_STRING 的最佳方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/609413/

相关文章:

php - 困难插入

php - PHP_EOL在Mac上不起作用

php - Codeigniter 优化/加载模型的最佳位置是?

json - 从网站的 GET 请求中获取 queryString - 替代工具然后是 Selenium

php - 用 PHP 删除多余的空格?

php - 多对多和急切加载 laravel

c++ - 使用 move 语义优化二进制算术运算

objective-c - char 数组到 [NSString stringWithFormat :]

asp.net - 使用 POST 或 GET 对 ASP.NET 搜索结果添加书签?

sql - Elasticsearch,查询字符串,需要匹配字符串