Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 从数组生成url参数_Php_Arrays_Url_Syntax - Fatal编程技术网

Php 从数组生成url参数

Php 从数组生成url参数,php,arrays,url,syntax,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' ? 注意:我要求一个预构建的函数,我可以自己编写函数。只是确保我没有编写已经存在的代码。为什么以前没有人建议这样做

假设我有以下数组:

$params
= array(
  'foo' => 'bar',
  'baz' => array('qux', 'qux2', 'qux3')
);
php中是否有预建函数,以便:

the_function($params);
输出

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


注意:我要求一个预构建的函数,我可以自己编写函数。只是确保我没有编写已经存在的代码。

为什么以前没有人建议这样做。http_build_查询就是您要查找的内容

$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 查询字符串中存在数组索引
如果需要,文档页面中的一些注释可以帮助进行后一种操作

我不认为你可以只用php函数的一个函数调用就做到这一点,这是我所不知道的。它看起来太具体了,无法为其创建函数,不是吗?这不会超过几行,你甚至会为此烦恼!