【问题标题】:What is the best method of maintaining a large query string?维护大型查询字符串的最佳方法是什么?
【发布时间】:2010-09-22 07:37:45
【问题描述】:

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

我有一些关于如何做到这一点的想法,包括每次更改过滤器时使用 javascript 构建查询字符串,或者在会话变量中维护查询字符串,然后从那里进行更改。

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

谢谢!

【问题讨论】:

  • 你在使用任何类型的框架吗?
  • 不,只是普通的 PHP 5.3

标签: php javascript get query-string


【解决方案1】:

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

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

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

【讨论】:

    【解决方案2】:

    是的,使用关联数组来存储键到值的映射。然后你可以很容易地改变一个。这些在 PHP 和 Javascript 中都得到了很好的支持,所以你很好。

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-01-22
      • 1970-01-01
      • 2019-03-02
      • 2012-05-31
      • 2010-09-24
      • 1970-01-01
      • 2023-03-16
      相关资源
      最近更新 更多