【发布时间】:2014-01-04 00:54:24
【问题描述】:
我正在寻找最简洁的 URL,而不是最短的 PHP 代码。我不希望我的用户被 PHP 在编码数组时创建的可怕 URL 吓到。
如果您只是将数组 ($fn) 填充到 http_build_query,PHP 将在查询字符串中进行大量重复:
$fs = array(5, 12, 99);
$url = "http://$_SERVER[HTTP_HOST]/?" .
http_build_query(array('c' => 'asdf', 'fs' => $fs));
生成的$url 是
http://example.com/?c=asdf&fs[0]=5&fs[1]=12&fs[3]=99
我怎样才能把它降到最低限度(使用 PHP 或 PHP 中容易实现的方法)?
【问题讨论】:
-
最短的网址。这有什么好难理解的?
-
@Palec 你确定吗?这实际上是我网站上的内容,但我认为结尾的斜线是多余的。现在看看你的地址栏。
-
@Palec 好的,我明白了。 “路径”和“查询”之间不需要“/”,但在
<host>:<port>和后面的任何内容之间必须始终有一个“/”,无论是路径还是查询。我已经更新了我的问题。幸运的是,我的网站已经使用了斜线。我只是认为这是额外的。 -
@ButtleButkus 我也调整了我的知识。本来以为原因不一样,结果却记得很清楚。只有当
<port>之后没有任何内容时,我才会说尾部斜杠是强制性的,而实际上并非如此。但是没有斜线的地址(例如http://google.com)对我来说似乎很奇怪。带有斜线,它们更漂亮(http://google.com/)。
标签: php arrays query-string