从数组生成url参数

时间:2015-03-05 14:25:17

标签: php arrays url syntax

假设我有以下数组:

$params
= array(
  'foo' => 'bar',
  'baz' => array('qux', 'qux2', 'qux3')
);

在php中是否有预先构建的函数:

the_function($params);

输出

'foo=bar&baz[]=qux&baz[]=qux2&baz[]=qux3'

注意:我要求预先构建的功能,我可以自己编写功能。只是确保我没有编码现有的东西。

1 个答案:

答案 0 :(得分:0)

为什么之前没有人这样说过。 http_build_query()正是您所寻找的。

$params = array('foo'=>'bar','baz'=>array('qux','qux2','qux3'));
echo urldecode(http_build_query($params));
// foo=bar&baz[0]=qux&baz[1]=qux2&baz[2]=qux3

您可能必须注意一些警告:

  • 生成的字符串是urlencoded(如果需要,请使用urldecode(),如上所述)
  • 数组索引存在于查询字符串

如果需要,文档页面中的一些注释可以帮助后者。 http://php.net/manual/en/function.http-build-query.php