http_build_str()和http_build_query()之间有什么区别?

时间:2012-11-02 14:34:03

标签: php

我发现这些功能似乎是多余的。 http_build_query()属于标准的php函数。 http_build_str()是pecl_http包的一部分。

他们是100%多余的吗?

我专注于获得parse_str()的完美反向功能。因为http_build query()被打破了。 (见reference) 我想知道http_build_str()是否有某种方式可以支持/容忍更多边缘案例。

2 个答案:

答案 0 :(得分:6)

通过阅读API,http_build_str()似乎不会对参数进行网址编码,而http_build_query()会对参数进行URL编码。

http_build_str()也可以将对象或对象作为主要参数,而http_build_query()只接受数组。

答案 1 :(得分:2)

冗余到一定程度。但是,如果您参考PHP文档,您应该看到明显的差异:

http://php.net/manual/en/function.http-build-query.php

http://php.net/manual/en/function.http-build-str.php

至少,您应该看到http_build_query()是核心PHP并支持其他编码样式参数。你应该看到http_build_str()是一个PECL扩展。