是否有PHP函数将查询字符串转换为数组?

时间:2010-10-17 00:34:07

标签: php

我基本上正在寻找http_build_query()的反面。

我有以下字符串:

foo=bar&bar[var]=foo

我想要以下内容(传入http_build_query):

array(
    'foo' => 'bar',
    'bar' => array(
         'var' => 'foo',
    )
)

1 个答案:

答案 0 :(得分:68)

你想要parse_str()。将它作为第二个参数传递给它,它将从你将它提供给数组的查询字符串中提取变量:

<?php
$str = "first=value&arr[]=foo+bar&arr[]=baz";
parse_str($str, $output);

echo $output['first'];  // value
echo $output['arr'][0]; // foo bar
echo $output['arr'][1]; // baz

请注意,这是http_build_query页面上列出的第一个相关功能。