维护大型查询字符串的最佳方法是什么?

时间:2010-09-22 07:37:46

标签: php javascript get query-string

在我正在制作的几个PHP应用程序中,我需要为表的过滤器维护一个非常长的查询字符串。 我只想在每个过滤器更改时更改一个或多个GET变量,而查询字符串的其余部分保持不变。

我对如何执行此操作有一些想法,包括每次更改过滤器时使用javascript构建查询字符串,或者在会话变量中维护查询字符串,从那里更改它。

我希望您就如何做到这一点的最佳方式提出意见或经验。

谢谢!

2 个答案:

答案 0 :(得分:2)

如果你有GET数组中的所有参数,你为什么不建立一个从它们中产生查询字符串的函数?

$params = array('key' => 'val', 'oth' => 'inn');

foreach($params as $key => $param) $string .= '&'.$key.'='.$val;

答案 1 :(得分:1)

是的,使用关联数组将键映射存储到值。然后你可以轻松改变一个。 PHP和Javascript都支持这些,所以你很好。

您只需编写将数组作为查询字符串输出的函数。

我曾经在云雀上做了一次(现在我每次都这样做):按字母顺序排列(或以其他方式命令)查询字符串中的参数。为什么?如果同一页面始终具有相同的URL /查询字符串,将会很方便。如果编写测试,则断言查询字符串匹配更容易。否则,您将受到关联数组实现的遍历顺序的支配。