假设我有以下数组:
$params
= array(
'foo' => 'bar',
'baz' => array('qux', 'qux2', 'qux3')
);
php中是否有预建函数so:
the_function($params);
输出
'foo=bar&baz[]=qux&baz[]=qux2&baz[]=qux3'
注意:我要求一个预先构建的函数,我可以自己编写函数代码。只是确保我没有对已经存在的东西进行编码。
为什么以前没有人建议这样做。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
您可能需要注意的几个注意事项:
- 生成的字符串是url编码的(如有必要,请像我上面所做的那样使用
urldecode()
) - 查询字符串中存在数组索引
如果需要,文档页面中的一些注释可以帮助实现后者。http://php.net/manual/en/function.http-build-query.php